【Java】认识类和对象

2022-10-18  本文已影响0人  分布式与微服务

一. 面向对象的介绍和理解

1. 面向对象的介绍

Java是一门纯面向对象的语言(Object Oriented Program,继承OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。

2. 面向对象的理解

利用生活中洗衣服的例子理解面向对象:

1).传统的洗衣服过程

在传统的洗衣服过程中,需要进行如下的环节,洗衣服的每一环节都需要亲力亲为,也就是说洗衣服的过程都需要我们自己去完成;而这就是面向过程了,


而且不同衣服洗的方式,时间长度,拧干方式都不同,处理起来就比较麻烦;如果将来要洗鞋子,那就是另一种放方式;再结合我们写代码来说,如果按照该种方式来写代码,将来扩展或者维护起来会比较麻烦。

2).现代的洗衣服过程
在现代洗衣服的过程中,可以通过洗衣机去洗衣服,人把衣服和洗衣粉放入洗衣机中,启动开关即可;这里就是以面向对象方式来进行处理,不再关注洗衣服的过程 ;具体洗衣机是怎么来洗衣服,如何来甩干的,我们不用去关心 。

注意:面向过程和面相对象并不是一门语言,而是解决问题的方法,没有那个好坏之分,都有其专门的应用场景。

二. 类的定义和使用

1. 类是用来干什么的

面相对象程序设计关注的是对象,而对象是现实生活中的实体,比如:洗衣机。但是洗衣机计算机并不认识,需要开发人员告诉给计算机什么是洗衣机。


上图左侧就是对洗衣机简单的描述,该过程称为对洗衣机对象(实体)进行抽象(对一个复杂事物的重新认知),但是这些简化的抽象结果计算机也不能识别,开发人员可以采用某种面相对象的编程语言来进行描述,比如:Java、C++语言等;

类是用来对一个实体( 对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了。

2. 类的定义

下面以定义一个洗衣机为例:

class为定义类的关键字,WashMachine为类的名字,{ }中为类的主体。

类中包含的内容称为类的成员;属性(字段)主要是用来描述类的,称之为类的成员属性或者类成员变量;行为(方法)主要说明类具有哪些功能,称为类的成员方法。

采用Java语言将洗衣机类在计算机中定义完成,经过javac编译之后形成.class文件,在JVM的基础上计算机就可以识别了

class WashMachine{
    //属性(字段)-》成员变量
    public String brand; // 洗衣机的品牌
    public String type; // 型号
    public double weight; // 重量
    public double lenght; // 长
    public double weidth; // 宽
    public double height; // 高
    public String color; // 颜色
    
    
    //行为(方法)-》成员方法
    public void WashClothes(){ // 洗衣服
        System.out.println("洗衣功能");
    }
    public void dryClothes(){ // 脱水
        System.out.println("脱水功能");
    }
    public void SetTime(){ // 定时
        System.out.println("定时功能");
    }
}

注意事项:

一个文件中可以有多个类,但一般一个文件当中只定义一个类
main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)
public修饰的类必须要和文件名相同

3. 类的实例化

定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型 。

用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。

定义一个狗类并将其实例化:

class Dog {
    //属性(字段)-》成员变量
    public String name;//狗的姓名
    public String color;//狗的颜色

    //行为(方法)-》成员方法
    public void barks() {
        System.out.println(name+"汪汪叫");
    }
    public void wag() {
        System.out.println(name+"摇尾巴");
    }
}

public class Test {
    public static void main(String[] args) {
        Dog dog1 = new Dog();//实例化(创建对象)
        //使用 . 访问对象成员
        dog1.name = "小金";
        dog1.color = "金色";
        dog1.barks();
        dog1.wag();

        Dog dog2 = new Dog();
        dog2.name = "小哈";
        dog2.color = "灰白";
        dog2.barks();
        dog2.wag();
    }
}

执行结果:


注意事项:

new 关键字用于创建一个对象的实例.
使用.来访问对象中的属性和方法.
同一个类可以创建对个实例

三. 类和对象的说明

类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员.
类是一种自定义的类型,可以用来定义变量.
一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量
做个比方;类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。

上一篇下一篇

猜你喜欢

热点阅读