二种编程思想
1.面向过程
2.面向对象
类和对象
具有相同的属性和行为的对象的集合,称为
"
一类
"
。
类也可以称为模板。
属性
:描述对象的特征,在程序中,通过
定义变量
的形式表现属性。
行为
:描述对象的动作,在程序中,通过
定义方法
的形式表现行为。
在程序中,通过定义一个
class
去定义一个类。在类中定义变量描述属性,定义方法描述行为。
成员变量和局部变量
成员变量:定义在类中的变量。
局部变量:定义在方法中的变量。
成员变量和局部变量的区别以及生命周期
成员变量定义在类中,有默认值
局部变量定义在方法中,没有默认值
成员变量的生命周期:随着类创建对象,成员变量初始化,该对象回收,成员变量销毁
局部变量的生命周期:随着方法调用,局部变量初始化,方法调用结束,局部变量销毁
面向对象的三大特性
封装
将类中的属性使用
private
修饰后,就可以不允许非当前类进行访问,以此达到保护核心代码的目的。
封装的步骤:
(private
的使用
)
1.
给类中的所有属性添加
private
修饰符
2.
给每个属性定义
setXX()
方法用于赋值
3.
给每个属性定义
getXX()
方法用于读取属性
继承
类
A extends
类
B
,类
A
就是类
B
的子类。类
A
就能直接使用类
B
中非私有成员。
或接口
A extends
接口
B
。
重写
override
子类继承父类后,对父类中的某个非私有方法进行重写,达到拓展或重做的目的。
重写必须要求方法名、方法返回值、方法参数列表必须相同
访问权限不能比父类更严格
不能抛出比父类更大的异常
重载
overload
在一个类中,某个方法在不同的参数下,表现不同的效果。同名不同参。
方法名必须相同
方法参数列表必须不同
(
类型和数量
)
与返回值无关
多态
在继承中,子类的对象,可以保存到父类的变量中。再调用方法时,调用的是子类重写后的方法。
this
和
super
这两个关键字,都可以当做对象或构造方法使用。
抽象方法
抽象方法没有方法体
抽象方法只能定义在抽象类或接口中
抽象方法通常需要子类重写
abstract
不能修饰构造方法和静态方法
接口
接口不能实例化
接口中的抽象方法默认使用
public abstract
修饰,属性默认使用
public static final
修饰
接口中没有构造方法和普通方法
jdk1.8
后,接口中允许定义
"
default
修饰的默认方法
"
和
"
static
修饰的静态方法
"
接口的实现类,必须重写接口中的抽象方法
总结:总体上来每一个知识点都不算太难,但实际运用当中会比较绕有点抽象。