Java是一门完全面向对象的编程语言,类和对象是面向对象编程的基础和核心。
1.如何理解类和对象,类和对象与生活有什么联系呢?
面向对象编程思想是来源于现实生活,面向对象编程就是代码来模拟现实生活中的场景。
1.1现实生活中什么时对象?
对象:在现实生活中只要是一个具体的物体或者一个具体的事物就是一个对象;
举例:某一个学生、某一个老师、某一台电脑、某一个人、...
注意:在这里注意限定词某一,若没有此限定词就变成了学生、老师、电脑、人,就脱离了对象的范畴了。
1.2现实生活中我们从哪些方面去描述对象?分别有些什么内容?
某一台电脑
特征:长度、宽度、厚度、品牌、电池、内存、CPU、键盘、显示屏、...
功能:显示、计算、存储、开机、关机、...
某一个人
特征:身高、体重、肤色、发色、职业、爱好、特长、姓名、性别、年龄、...
行为:走路、说话、眨眼睛、思考、呼吸、唱歌、跳舞、打篮球、学习、敲代码、...
2.生活中的类是怎么来的?生活中的类是具体的还是抽象的?
我们根据生活中对象相似的特征和相似的行为(功能、用途)来进行分类,生活中的类是抽象的。
2.1程序中的类是怎么样的呢?
程序中的类是根据生活中对象的特征和行为(类中属性和方法),按照程序中类的固定格式进行的抽象定义。
程序中的类是由两个部分组成:
(1)属性 属性是根据对象的特征进行定义的;
(2)方法 方法分为两类:
1.普通方法 根据对象的行为(功能、用途)进行定义的;
2.构造方法 作用:实例化对象
2.2普通方法和构造方法有什么不同呢?
普通方法与构造方法的区别是构造方法在创建后只能掉用一次,用来初始化数据,而普通方法在创建后可以调用多次。
3.类的基本格式
public class 类名 {
//定义属性的格式
访问修饰符 数据类型 属性名;
//定义构造方法的格式
访问修饰符 构造方法名(数据类型 参数名,...){
}
//定义普通方法的格式
访问修饰符 返回值数据类型 方法名(数据类型 参数名,...){
}
}
4.构造方法
注意:
1.构造方法名必须要和类名完全一致;
2.构造方法不能定义返回值数据类型;
3.Java默认会给类提供一个默认无参数的构造方法;如果你自定义了构造方法,则默认的构造方法会被覆盖,只能使用你自定义的构造方法。
用途:
1.实例化对象;
2.给属性赋值。(传递参数的作用)
5.方法重载
5.1什么情况需要使用方法重载?
普通方法:
如果生活中我们需要定义吃的行为,但是由于我们饭的种类的不同导致我们需要的物品也不同:
例如:
吃(筷子、木桶、米饭、菜)、吃(筷子、鸡、米饭、碗)、吃(面条)、...
同样为吃的行为,我们如何根据饭菜的种类对该行为进行区分呢?
需要用到方法重载
方法重载的条件:
1.方法名必须要完全一致;
2.方法的所带的参数个数、参数类型和参数位置至少要有一个不同。
注意:至少有一个不同,即只要有一个不同就可以了
5.2当进行了普通方法重载后,如何调用重载后的方法呢?
根据参数来进行方法的调用。
注:构造方法也能进行方法重载
6.实例化对象和调用属性方法的格式:
实例化对象的关键字:new
格式:
类名 对象名 = new 构造方法(参数值,...);
调用对象属性和方法的格式:
对象名.属性名
对象名.普通方法(参数值,...);