封装
Java中访问控制修饰符有四种,根据访问权限高低分别是private、默认、protected、public
封装可以控制访问权限,提高程序的安全性;可以提高代码的复用性
继承
- 继承可以分为公有继承、保护继承和私有继承。
- 子类继承父类的成员变量和成员方法,但不一定能够访问所有的变量和方法。
- 子类方法要访问一个变量:在方法内部的局部范围内找->在子类的成员变量范围中找->在父类的成员变量范围内找。
- this 本对象的引用
- super 父类标志
- 重写方法时,子类的方法不可以比父类方法的访问权限更低,私有的父类方法不可以被重写
- Java无多继承
多态
具体类多态
- 有继承/实现关系;有方法重写;有父类引用指向子类对象
- 多态中成员访问特点:
- 成员变量:编译看左边,执行看左边
- 成员方法:编译看左边,执行看右边
抽象类多态
- abstract修饰的类是抽象类,修饰的方法是抽象方法
- 抽象方法必须在抽象类中
- 抽象类种可以有构造方法,但是不能被实例化
- 子类要么重写抽象类的抽象方法,要么子类也是抽象类
接口多态
- interface修饰的是接口
- 成员变量是常量,默认public static final修饰
- 接口中的方法只能是抽象方法
- 接口不允许有构造方法
- 接口中的抽象方法要么被实现类重写,要么实现类是抽象类
** 重载是方法的名字相同但是返回值和参数列表不同 **
内部类
成员内部类
- 一个类中一个字段是另一个类,直接在类中定义一个类即可
- 可以访问外部类的所有成员
- 外部类要访问内部类的成员,必须创建对象
局部内部类
- 在类的成员方法中定义的类
- 可以访问方法中的局部变量和外部类的成员
- 外部类要访问内部类的成员,必须创建对象
匿名内部类
- 匿名内部类本质是一个实现了该类或者该接口的子类对象
- 常见的是在方法的参数中实现一个类对象或接口对象,并声明方法