1.类和对象的定义
1.对象
对象就是对一个实物,比如现实生活中的具体的洗衣机、电视就是一个对象
2.类
类就是对一个对象的描述,比如单纯的说洗衣机就是一个类,在类中对洗衣机的大小、颜色、功能进行描述,展现出一个具体的洗衣机,这个被具体描述出来的洗衣机就是一个对象。再比如狗就是一个类,而在类中对狗进行具体描述的12岁黄色的小黄狗就是一个对象。类是一个抽象的东西,而对象就是对抽象的东西具体化。
2.类的组成
类是由属性和行为共同组成的,属性就是指成员变量,而行为就是指方法
3.类的具体格式
类的定义格式如下:
如定义一个狗类
4.类的实例化
1.什么是实例化
定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自 带的内置类型,而类是用户自定义了一个新的类型。而要对该类型进行使用就要对该类进行实例化,使抽象的类具体展现出来,在对它进行改变,赋给它属性和行为,使其成为一个具体的对象。
用类类型创建对象的过程,称为类的实例化。一个类可以实例化多个对象
2.实例化的具体格式
在java中采用new关键字,配合类名来实例化对象。
如上述定义的狗类要实例化就可以如下面这样写
这样狗这个类就被实例化了,你就可以改变dog1这个对象了
5.this引用
1.为什么要用this
当你实例化多个对象时,多个对象同时引用同一个方法,你如何判断你方法中的成员变量是哪个实例化对象的成员变量
你这时候并不知道这个name,age,color是dog1还是dog2的属性,而且当你的参数名和成员变量名一样时就无法进行修改
并引用方法没有对dog1和dog2进行改变,而使用this后就可以对dog1和dog2进行改变
2.什么是this引用
this指向你当前创建的对象,成员方法中所以成员变量的操作都是用this去访问
当进入方法中,哪个对象调用的方法,this就是哪个对象的地址
3.this引用的特性
1. this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型
2. this只能在"成员方法"中使用
3. 在"成员方法"中,this只能引用当前对象,不能再引用其他对象
4. this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用成员方法 对象的引用传递给该成员方法,this负责来接收
6.构造方法
1.概念
构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且 在整个对象的生命周期内只调用一次。
2.特性
1. 名字必须与类名相同
2. 没有返回值类型,设置为void也不行
3. 创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于人的出生,每个人只能出生一次)
4. 构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)
5.当你没有定义任何构造方法,编译器会自动生成一个不带参数的构造方法,但你一旦定义了一个构造方法,编译器就不会生成任何构造方法
6.构造方法可以使用this语句相互调用,但不可以形成闭环调用(两个构造方法相互调用,形成无限循环),注意:在构造方法中调用另一个构造方法this语句必须放第一行,否则报错
7. 绝大多数情况下使用public来修饰,特殊场景下会被private修饰
7.初始化
在类的方法中定义的变量必须要进行初始化,否则会编译失败
而成员变量有默认的初始化