java记录1--接口
接口(interface)定义:抽象方法和常量值的集合。本质上讲,接口是一种特殊的抽象类
ps:1.接口中定义的属性必须是public static final 的,定义的方法必须是public abstract的,因此这些
修饰符可以部分或全部省略
2.接口中定义的属性的值在实现类中不能被更改
3.一个类只能实现某个接口,不能继承某个接口,但接口可以继承接口
4.一个类可以实现多个接口,但一个类不能继承多个类
5.如果一个类只实现了一个接口的部分方法,则该类必须声明为抽象类
6.一个类可以在继承一个父类的同时实现一个或多个接口,但extends关键字必须得在implements之前
eg:class T extends A implements a,b
1.接口的多态
(public)interface It { void f(); } class A implements It { public void f();//一个类要想实现接口中的方法,必须在方法返回值前加上public,优先级不能降低 { System.out.println("aaaa"); } } class TEST { public static void main(String[] args) { // It ss = new It() ERROR 不可以new接口对象 It ii = new A();//达到多态的目的 ii.f();//但可以定义一个接口引用类型的变量并将其指向实现的对象 } }
2.
如果一个类只实现了一个接口的一部分方法 则该类必须得申明为抽象类
interface It { void f(); void g(); } abstract class A implements It//如果一个类只实现了一个接口的一部分方法 { //则该类必须得申明为抽象类 public void f();//一个类要想实现某接口中的方法,必须在方法返回值前加public
//否则会降低优先级 { System.out.println("aaaa"); } } class TEST { public static void main(String[] args) { // It ss = new It() ERROR 不可以new接口对象 It ii = new A();//达到多态的目的 ii.f(); } }
接口中的方法不允许有方法体,但抽象类允许