首先Java是一门完全面向对象的编程语言,类和对象是面向对象编程的基础和核心。面向对象编程就是使用我们人的思维方式来编写代码。(人的思维方式很重要,下面内容需要你用生活中的思维方式来看)
一、现实生活中有哪些是对象?
对象:在现实生活中只要是一个
具体
的物体或者一个
具体
的事物就是一个对象。
你所看到的任何一个物体,你所想的任何一个物体都是对象。
下面举个栗子:
某一个杯子敦煌、某一本书、某一张桌子、...//注意:桌子不是对象,因为不够具体!
你还需要知道从哪些方面去描述对象,分别有些什么内容
某一个杯子:
特征:颜色、大小、容量、重量、材质、...
功能/用途/行为:装水、...
二、类的组成
2.1、现实生活中是怎样对对象进行分类的呢?
根据对象相似的特征和相似的行为(功能/用途)进行分类,生活中的类是抽象的。
2.2、程序中的类是怎样的呢?
程序中类和现实生活中的类一样都是抽象的,它是对生活中对象的抽象。
根据对象的特征和行为(功能/用途),按照程序中类固定的格式进行抽象。
程序中的类是由两个部分组成:1.属性 2.方法
属性是根据对象的特征进行抽象的。
程序类的方法分为两类:1.普通方法 2.构造方法
普通方法是根据对象的行为(功能/用途)进行抽象的。
2.2、程序中的类是怎样的呢?
程序中类和现实生活中的类一样都是抽象的,它是对生活中对象的抽象。
根据对象的特征和行为(功能/用途),按照程序中类固定的格式进行抽象。
程序中的类是由两个部分组成:1.属性 2.方法
属性是根据对象的特征进行抽象的。
程序类的方法分为两类:1.普通方法 2.构造方法
普通方法是根据对象的行为(功能/用途)进行抽象的。
三、类的格式
public class 类名 {
//定义属性的格式
public 数据类型 属性名;
//构造方法的格式(构造方法名必须要和类名完全一致)
public 构造方法名(数据类型 参数名,...){
}
//普通方法的格式
public 返回值数据类型 普通方法名(数据类型 参数名,...){
}
}
类是模板是对对象的抽象定义;所以不能直接用类去调用属性和方法。
四、实例化对象和调用属性方法的格式
实例化对象的关键字:new
格式:
类名 对象名 = new 构造方法名(参数值,...);
调用对象的属性和普通方法:
对象名.属性名
对象名.普通方法名(参数值,...);
五、构造方法
5.1、构造方法的格式:
//构造方法的格式(构造方法名必须要和类名完全一致)
public 构造方法名(数据类型 参数名,...){
}
注意: 1.构造方法是不能定义返回值类型;5
2.构造方法名必须要和类名完全一致的;
//构造方法的格式(构造方法名必须要和类名完全一致)
public 构造方法名(数据类型 参数名,...){
}
注意: 1.构造方法是不能定义返回值类型;5
2.构造方法名必须要和类名完全一致的;
3.Java的类会默认提供一个无参数的构造方法, 如果你自定义了构造方法,默认的构造方法就会被覆盖,你只能使用你自定义的构造方法。
5.2、构造方法和普通方法的区别:
1.构造方法是不能定义返回值类型;
2.构造方法名必须和类名一致,但是普通方法名没有要求;
3.构造方法是用来实例化对象的,普通方法是用来表示对象的行为(功能/用途)。
5.3、构造方法的用途:
1.构造方法是用来实例化对象的;
2.构造方法给属性设置初始值。
5.2、构造方法和普通方法的区别:
1.构造方法是不能定义返回值类型;
2.构造方法名必须和类名一致,但是普通方法名没有要求;
3.构造方法是用来实例化对象的,普通方法是用来表示对象的行为(功能/用途)。
5.3、构造方法的用途:
1.构造方法是用来实例化对象的;
2.构造方法给属性设置初始值。
六、方法重载
6.1、实现方法重载必须要满足那些条件?
1.方法名必须要完全一致;
2.方法中所带的参数(个数、类型、顺序)要不同。
6.2、如何调用进行重载后的方法?
根据方法的参数来调用。
6.3、一开始学可能以为方法重载没必要,其实!
现实生活中什么样的情况需要使用方法重载来实现?
普通方法进行方法重载的情况:
吃(蛋糕)、吃(饭、菜)、吃(水果)
打(篮球)、打(排球)、打(乒乓球)
仔细看上面的参数,是对象!它的数据类型是个类,对于 不同的类,你所用的参数自然不同!
1.方法名必须要完全一致;
2.方法中所带的参数(个数、类型、顺序)要不同。
6.2、如何调用进行重载后的方法?
根据方法的参数来调用。
6.3、一开始学可能以为方法重载没必要,其实!
现实生活中什么样的情况需要使用方法重载来实现?
普通方法进行方法重载的情况:
吃(蛋糕)、吃(饭、菜)、吃(水果)
打(篮球)、打(排球)、打(乒乓球)
仔细看上面的参数,是对象!它的数据类型是个类,对于 不同的类,你所用的参数自然不同!
6.4构造方法进行方法重载的情况:
红楼梦:贾宝玉出生带通灵宝玉,林黛玉不带、薛宝钗不带、...
七、this关键字
以后编程中this需要经常使用,而且它的用法很重要!
7.1、this关键字的用途:
当参数名和属性名玩完全一致时,Java会采用就近原则,优先使用 的是参数,把参数赋给参数和属性没有任何关系;
比如:
public Student{
int age;
public setAge(int age){
this.age=age; //this.age调用的就是类中的这个age
}
}
7.2、this关键字代表谁?
this表示当前调用方法的对象名;哪一个对象名在调用,方法中的 this就表示谁。
实在有点搞不清时可以想想,this其实类似于生活中的“我”这个词。