一、权限修饰符的访问权限
需要特别注意的是:
- 被private修饰的成员变量以及成员方法只能在本类中进行调用,所以在其他类中创建本类对象,无法直接访问私有成员变量和成员方法,只能通过set、get方法间接访问。
- 被public修饰的成员变量以及成员方法可以在任意地方被调用。
- 修饰符省略不写的,可以在本类中进行调用,还能在同一个包中其他类中进行调用。
- 在类中一般属性都是用private修饰的、一般方法都是用public修饰的。
二、final关键字的使用
final是一个修饰符(最终的意思),可以用来修饰类、方法、变量。
final修饰类,表示不能被继承
final修饰方法,表示方法不能被复写
final修饰变量,表示变量不能被修改(只能被赋值一次)
三、枚举的使用
Java 枚举(Enum)是一种特殊的类,用于定义一组具有固定值的常量。
创建枚举类的方式:
本质是 java.lang.Enum 的子类,也就是说,自己写的枚举类,就算没有显示继承 Enum ,但是其默认继承了这个类。
其中的RED、BLACK、WHITE称为枚举项,可以理解成枚举类的对象。
四、抽象类
被abstract修饰的类,叫抽象类。被abstrac修饰的方法,叫抽象方法。
抽象类中既可以有抽象方法,也可以有非抽象方法。
抽象类不能创建对象,直接new出来的是他的匿名内部类。
子类继承抽象类,这个类必须重写所有的抽象方法,否则这个类也必须是抽象类。
abstarct不能和final和static共存。
五、接口
5.1 接口中的方法
接口是用来指定规则的,它是一种特殊的类,采用interface关键字定义。
JDK8以后,接口中除了有抽象方法还有默认方法(default)、静态方法(static)、私有方法(private)。
声明抽象方法的时候可以省略public和abstract,但记得没有方法体。
默认方法被public default修饰,必须有方法体,可以被实现类重写,不是一定要重写。
静态方法不能通过实现类的对象调用,要用必须通过接口名点方法名使用
5.2 接口中类与类、类与接口、接口与接口的关系
一个类可以实现多个接口
一个接口可以继承多个接口