1.Java面向对象学习的三条主线
- Java类以及类的成员、属性、方法、构造器、代码块、内部类
- 面向对象的三大特征:封装性、继承性、多态性、(抽象性)
- 其他关键字:this、super、static、final、abstract、interface、package、import
2.面向过程(POP)与面向对象(OOP)
- 面向过程:强调的是功能行为,以函数为最小的单位,考虑怎莫做 1)把冰箱门打开;2)抬起大象,放进冰箱;3)把冰箱门关闭。
- 面向对象:强调备功能的对象,以类/对象为最小单位,考虑谁来做
人{
打开(冰箱){
冰箱.开开();
}
抬起(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱.闭合();
}
}
冰箱{
开开(){}
闭合(){}
}
大象{
进入(冰箱){
}
}
一般来说,名词代表着类,动词代表着类中的方法
3.类和对象
- 类:是对一类事物的描述,是抽象的、概念上的定义
- 对象:是在该类下存在的实体,因此也被称为实例(instance)
- 面向对象的程序设计的重点是类的设计
- 设计类,就是设计类的成员
- 常见类的成员有属性(成员变量=Field)和行为(成员方法=函数)
4.类的实例化
如何使用Person类–>创建一个Person的实例对象
- 调用属性“对象名.属性”
- 调用方法“对象名.方法”
5.总结类和对象的使用
- 创建类,设计类的成员
- 创建类的对象
- 通过“对象.属性”或“对象.方法”调用对象的结构
6.对象的内存解析
7.属性和局部变量的对比
- 相同点:1)都是变量,定义变量的格式相同。数据类型 变量名=变量值;2)先声明,再使用;3)变量都有相应的作用域。
- 不同点:1)在类中声明的位置不同。a)属性:直接定义在类的一对 { } 内;b)局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量。2)关于修饰符的不同。a)属性:可以在声明属性时,说明其权限(private、public、protected、缺省等);b)局部变量:不可以使用权限修饰符。3)默认初始化值得情况:a)属性:类的属性:根据其类型,都有以下得默认初始化值。整型(byte、short、int、long)是 0;浮点型(float、double)是 0.0;字符型(char)是 0;布尔型(boolean)是false;引用数据类型(类、接口、数组)是null。b)局部变量:没有默认的初始化值。这意味着我们在调用局部变量之前,一定要显示赋值。特别的,形参在调用时,我们赋值即可。4)在内存中加载的位置:a)属性:加载到堆空间(非static属性)。b)局部变量:加载到栈空间。
8.类中方法得声明和使用
-
举例
public void eat(){}
public void sleep (int hour){}
public String getName(){}
public String getNation(String nation){} -
方法的声明:
权限修饰符 返回值类型 方法名(形参列表){
} -
返回值的类型:有返回值 vs 无返回值
1) 如果有返回值,则必须在方法声明时,指定返回值的类型。同时,方法中需要使用return关键字来返回指定类型的变量或常量“return 数据”
2) 如果没有返回值,则方法声明时,需要使用void来表示,通常,没有返回值的方法中,就不用使用return。但是,如果使用的话,只能使用“return”表示结束此方法的意思。
3)我们定义方法时该不该有返回值?a)题目要求。b)具体问题具体分析
4)方法名:属于标识符,遵循标识符的规范和规则–“见名知意”
5) 形参列表:方法可以定义0个,1个或多个形参 -
return关键字的使用
1)使用范围:在方法体中
2)作用:a)方法结束的标志;b)针对有返回值类型的方法,使用return可以返回所要的数据
3)ruturn语句后面不能再写别的方法语句 -
方法的使用中:可以调用当前类的属性和方法;
特殊的:在方法A里面又调用了方法A–递归调用
方法中不可以在定义方法
今日总结
-
谈谈对于类和对象的理解,以及两者的关系
类:抽象的、概念上的内容
对象:实实在在的一个个体
对象是由类派生出来的 -
类和对象的创建和执行有哪几步?
1)类的创建
2)对象的实例化
3)调用对象的结构;“对象.属性”、“对象.方法” -
垃圾回收
4. 类的方法内是否可以调用变量?是否可以调用属性?是否可以定义方法?是否可以调用方法?
类的方法内可以调用变量;可以调用属性,但是不能定义方法;可以调用方法



