-
1.接口
-
1.1 接口的修饰符
- 只能为(且默认为) public abstract
interface TheInterface { int foo(); }
-
1.2 接口的变量的修饰符
- 只能为(且默认为) public static final
-
1.3 接口的方法的修饰符
- 1.3.1 static(必须有方法体) :
- 使用方法: 在其他类中用 接口.方法 进行调用
interface TheInterface { static void foo(){ System.out.println("这是一个有方法体的接口方法,使用static修饰了"); } }
- 1.3.2 default(必须有方法体) :
- 使用方法: 在其他类中用 对象.方法 进行调用
interface TheInterface { default void fooDefault(){ System.out.println("这是一个有方法体的接口方法,使用default修饰了"); } }
- 目的: 以防备扩展:当需要扩展业务的时候,接口里面增加一个默认方法,调用其即可。
- 1.3.3 public abstract(默认的,没有方法体) :最常用的情况
-
2.抽象类
-
2.1 抽象类的修饰符
- 只能为(且默认为) public :
- 不能使用:private、static、final,因为无法被继承
-
2.2 抽象类的变量的修饰符
- 任意(除default之外,默认就是default,不用写):public、static等等。
-
2.3 抽象类的方法的修饰符
- 1.是抽象方法时(不能有方法体):
- 只能有public、protected + abstract 进行修饰。
- 不能用static、final、private修饰,否则继承类会发生无法重写的情况。
- 2.不是抽象方法时(必须有方法体):
- 和普通类一致,可以用合法的修饰符进行修饰。
- 1.是抽象方法时(不能有方法体):