接口概念:
与之前学习过的抽象类一样,接口( Interface )在Java中也是一种抽象类型,接口中的内容是抽象形成的需要实现的功能,接口更像是一种规则和一套标准.
接口的格式:
一.要创建三个类第一个是接口
实现类如果想和接口建立实现关系,通过implements关键字来建立
第二个实现类
方案一:如果实现类与接口建立关系以后,可以选择不实现接口中的抽象方法,而是把自己变成抽象类
abstract public class InterImpl implements Inter
方案二:实现类可以实现接口中的所有抽象方法
@Override//注解,标记这个方法是实现父类接口中未实现的抽象方法
第三个去用,(测试,main方法)
你问我答:
接口可以创建对象吗?---不可以!!!
接口中有构造方法吗?--没有!!
接口中可以有成员变量吗?--不可以!!!
这其实是一个静态常量,实际上的是写法是public static final int a = 10;
接口中的是静态常量,只不过前面的元素默认拼接,可以不用自己写
1.通过interface关键字来定义接口
2.接口中可以有普通方法吗?----不可以
3.接口中可以有抽象方法吗?----可以,接口中的方法都是抽象方法
如果接口中添加了抽象方法,实现类中需要实现所有未实现的抽象方法
总结:
结论:接口中的变量实际都是静态变量,可以被类名直接调用
System....(类名.age);
结论:接口中的变量实际上都是静态变量,值不可以被修改
类名.age = 100;
查看类的继承结构:Ctrl + H
面试题:
问题:子类创建对象时,默认会调用父级的无参构造,目前接口实现类的父级是一个接口,而接口没有构造方法,那实现类构造方法中的super()调用的是谁呢?
结论:如果一个类没有明确指定父类,那么默认继承顶级父类Object所以super()会自动调用Object类中的无参构造