目录
一、面向对象和面向过程
二、类的定义和使用
1、简单认识类
2、类的定义和格式
三、类的实例化
四、this关键字
this引用的作用与特性
五、对象的构造与初始化
一、面向对象和面向过程
相信大家应该听说过面向过程和面向对象,我们之前所学习的C语言是一个面向过程的编程语言,而现在学习的java是面向对象的编程语言。下来我们拿洗碗来举例:
1. 面向过程:注重解决问题的步骤
传统的洗碗方式注重洗碗过程,一步也不能缺少,这就是面向过程。
2. 面向对象:依靠对象之间的交互来解决问题
总共4个对象:人,碗,洗洁精,洗碗机
在洗碗机工作时我们不需要关注它是怎么运转的,只需要启动开关即可,这个就是依靠对象之间的交互来完成,这就是面向对象。
二、类的定义和使用
1、 简单认识类
类是对一个实体(对象)进行描述的,主要描述该实体对象的属性(外观、名字、大小等),以及它的功能,描述完成后计算机就可以进行识别了。
2、 类的定义和格式
我们首先需要在集成开发环境中创建一个java Class类
+
class是定义类的关键字,ClassName是你定义的类名(通常建议使用大驼峰来命名)。
现在我们来定义一个学生类:
假设他的属性有:姓名,年龄,身高
行为有:上课,吃饭,睡觉
注意:1.成员前统一写public关键字,它为访问修饰限定符
2.public修饰的类必须与文件名同名
3.一般一个文件只定义一个类(方便查找)
三、类的实例化
定义一个类相当于在计算机中定义了一个新的类型,类似与int、double之类,在java中用new关键字来配合类来实例化对象。我们用之前的Student来举例并访问对象当中的成员:
1. new 关键字用于创建一个对象的实例
2. 使用 . 来访问对象中的属性和方法
3. 同一个类可以创建多个实例对象
四、this关键字
this引用的作用与特性
下来我们用日期来举例:
以上程序我们定义了一个Date类,并通过SetDate来传参赋值和PrintDate来打印,我们并没有传0,为什么打印是0/0/0,原因:变量名与形参名相同时,以上的书写表示的是形参自己给自己赋值,导致结果为0,那么这时候就得使用this来解决这个问题了。
通过代码运行的结果我们可以看出this成功解决了这个问题,关键在于this是对当前对象的引用,当前对象:哪个对象调用方法,谁就是this引用。
注意:
1、this只能在成员方法中使用
2、this方法是一个隐藏的参数,编译器会自动传递
3、在"成员方法"中,this只能引用当前对象,不能再引用其他对象
五、对象的构造与初始化
在java方法中定义局部变量必须初始化,否则编译器会报错
但对于成员变量来说,如果没有进行初始化,会有一个默认的值
构造方法
方法名必须与类名同名,没有返回值类型,void也不可以,构造方法可以重载,如果没有写构造方法,编译器会生成一份默认的无参构造方法,一旦定义了一个构造方法,编译器将不会再生成
方法重载
可以通过this来调用其它构造方法
注意 :this(...)必须是构造方法中的第一条