注意
接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多继承。
接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。
接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量(并且只能是 public,用 private 修饰会报编译错误)。
接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。
package Interface;
interface Superclass {//接口 接口名
public static final String s ="某某";
public void a();
public void b();
}
package Interface;
interface Superclass1 {
String s1 = "某人";
public void c();
public void d();
}
package Interface;
public class Subclass implements Superclass,Superclass1{ 多继承
public void a() {
System.out.println(s+"的抽象类");
}
public void b() {
System.out.println(s+"的抽象类1");
}
public void c() {
System.out.println(s1+"抽象类2");
}
public void d() {
System.out.println(s1+"抽象类3");
}
}
package Interface;
public class Subclass1 implements Superclass1{
public void c() {
System.out.println(s1+"的抽象类");
}
public void d() {
System.out.println(s1+"的抽象类1");
}
}
package Interface;
public class Test {
public static void main(String[] args) {
Subclass b = new Subclass();
b.a();
b.b();
b.c();
b.d();
System.out.println();// 换行
Subclass1 b1 = new Subclass1();
b1.c();
b1.d();
}
}