接口是JAVA实现多继承的一种机制,一个类只能继承一个类,但是可以实现多个接口。
接口与一般类一样,也可以继承父类(接口),但是接口可以继承多个父接口。
package chapter16;
interface Inter3{
public void method3();
}
interface Inter2{
public void method2();
}
public interface Inter1 extends Inter2,Inter3{
public void method1();
}
package chapter16;
public class InterImpl implements Inter1{
@Override
public void method3() {
}
@Override
public void method2() {
}
@Override
public void method1() {
}
}
接口(interface)与抽象类非常相似,也具有数据成员和抽象方法,但是又有以下不同:
1.接口里的数据成员必须初始化,且数据成员均为常量,不可更改。
2.接口里的方法全部是抽象的。
package chapter16;
public interface Inter {
int age=44; //关键字final省略
public void say();
}
package chapter16;
public class InterImpl implements Inter{
@Override
public void say() {
age=55;//这里会报错,因为age是常量
}
}
接口对象的实例化:
接口是无法直接实例化的,因为接口中没有构造方法。但是通过接口的子类可以对其进行实例化。
package chapter16;
public interface Inter1 {
public void method1();
}
class InterImpl implements Inter1{
@Override
public void method1() {
System.out.println("haha");
}
public static void main(String[] args) {
Inter1 inter1=new InterImpl();
inter1.method1();
}
}
输出结果:
haha