留言与评论(共有 0 条评论) |
发布时间:2020-04-12 09:14:02
因为接口默认的是public static final的,所以都是常量,没有变量。
public interface A { int a = 1; //此处报错,没有初始化 char aa; Object obj = new Object();}class AA implements A { public void s() { //此处报错,a为final的不能在赋值 A.a = 1; }}
接口不是不能定义final,接口中的变量是public static final所修饰的(是常量)方法是public abstract所修饰的,那个答案有错接口是对外扩展功能用的,所以只能是public(私有的写成接口有什么用,就好比你电脑的usb插槽是不是只能在外边?假如你把插槽封装到机壳里面有什么意义?)abstract就是和抽象类一样接口可以大致理解为一个特殊的抽象类,里面所有方法都是抽象的抽象类和接口都不能实例化(因为实例化出来的方法没有方法体,没有意义)一个类implement一个接口时必须要实现所有内部的抽象方法,否则会报错
留言与评论(共有 0 条评论) |
全站搜索