getter和setter
访问权限:
public:都可以适用
default:包访问权限,仅自己包可访问(默认权限 可不写)
private:只能在自己类中使用
- 当成员变量为private可保护数据不被外部程序更改,但不能再被其他类读取
- 需定义一个set方法设置可编辑的private成员变量/get方法可调出private成员变量数据
- 通常成员变量用private保护数据
- eclipse可自动生成getter&setter
继承
继承:子类可以自动拥有父类除了private外所有内容
public class 子类名 extends 父类名{
方法体
}
子类可对父类进行拓展,添加额外功能
Super关键字
super:表示父类中的内容
this:表示自己类中的内容
- 可以区分父类和子类中同名的内容
- 可以调用父类中的构造方法,必须写在子类构造方法第一行,如果父类的构造是无参数的,可以不写。如果父类没有无参数的构造必须要写super。
方法的重写
重写:子类对父类中提供的方法进行重新定义
语法:子类和父类中的方法的声明完全一致
重写又被称为方法的覆盖
多态
多态:同一个对象拥有多种形态
作用:把不同数据类型进行统一
- 把子类的对象赋值给父类的变量-> 向上转型 缺点:屏蔽掉子类独有的方法
- 把父类的变量转化为子类的变量 -> 向下转型 必须写强制类型转换
抽象
抽象方法:用abstract修饰,不可以有方法体,直接用分号结束;
抽象类:如果一个类中有抽象方法,这个类必须是一个抽象类;
特点:
- 抽象类不可以创造对象
- 抽象类的子类必须重写父类中的抽象方法,否则子类也必须是抽象类
通过抽象方法可以强制规范子类中必须有哪些方法
接口
接口实际上是一种特殊的抽象类
接口中所有的方法都是抽象方法
接口使用interface来声明
类只能单继承,接口支持多实现
接口同样具有多态性 可以把不相关内容进行整合
特点:
- 接口中所有的方法都是抽象方法
- 接口中所有变量都是全局静态常量