1.接口中抽象方法的tips
(1)接口中的抽象方法可以不写abstract,即接口中的方法默认为抽象的;即接口中的方法不能有方法体;
(2)接口中的方法默认访问修饰符为public(很容易理解,一个需要被其他类访问并实现的接口,其方法理应设为public)(这儿更多的可以从,Java的设计合理性出发去理解。)
2.接口中的常量
在一般类中,定义常量:
public class OnePhone {
// 一般类中定义常量
public static final int TEMP = 20;
}
在接口中,定义常量时,可以省略public,static 和final,即接口中系统默认有这三个修饰符。(常量的修饰符访问修饰符只能是public)注:接口中定义常量需要初始化,否则报错。(20210708注:为什么接口中的常量要初始化:目前个人的理解是:接口中的常量是被static和final修饰的,因为是static修饰的,所以这个常量是隶属于类(或者接口)的,,,,然后,因为final修饰,所以这个常量只能被修改一次,,,,所以,这个常量显然不能设计成【通过接口的实现类的对象去赋值的 样子】;;;所以这个常量必须要在类加载的时候被初始化,所以无论是出于设计合理性还是背后的要求,都需要在接口中初始化这个常量;)
public interface INet {
public abstract void check();
public static final int TEMP = 20;
// 接口中定义常量可以省略 public static final
int TEMPTWO = 20;
}
注:使用ip.也可以访问接口中定义的常量。但推荐使用接口名.的方式
3.接口应用中的常见问题
(1)当父类实现接口,子类继承父类后,是否也需要实现接口中的全部方法呐?
如果父类未实现接口中的全部方法,则父类需要设置为抽象方法,子类如果不想继续抽象,则需要实现相关未实现方法,否则将继续为抽象类。
(2)接口可以在不同的包中创建,可以根据业务设计需要单独创建接口包。需要跨包调用接口时,需设置可访问接口为public访问权限,然后参照类的跨包调用方式,import接口即可;
(3)如上实例中:接口引用指向实现类的实例的对象时,是一种体现多态的常见处理方式。
Comments:
(1)建议以后能看下Java编程思想。就可以对为什么抽象类和接口不能实例化,之类的问题有深入了解。