JAVA学习笔记-接口(一个更加抽象的类?)
为什么需要接口?接口和抽象类的区别?
-接口就是比"抽象类"还"抽象"的"抽象类",可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。
如何定义接口?
-格式:
·[访问修饰符] interface 接口名 [extends 父接口1,父接口2...]{
-常量定义 //总是public static final 在前,如果不写,会自动补全。
-方法定义 //总是public abstract 在前,如果不写,会自动补全。
}
子类通过implements来实现接口中的规范
接口不能创建实例,但是可用于声明引用变量类型。
一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public的。
接口支持多继承。
package Study;
public interface TestInterface {
String name = "I can fly";
public abstract void fly();
void swim(); //前面缺省了public abstract
}
/**下面是对接口(Interface)的实现
*/
class Stone implements TestInterface{
@Override
public void fly() {
System.out.println("我可以被扔出去,所以可以飞!");
}
@Override
public void swim() {
System.out.println("我会沉到水里的,所以我不会游泳!");
}
}
class beef implements TestInterface{
@Override
public void fly() {
System.out.println("我有翅膀,所以可以飞!");
}
@Override
public void swim() {
System.out.println("我非常怕水,更别提游泳了!");
}
}
package Study;
public class Welcome {
public void diaoyong (TestInterface a){
a.fly();
}
public static void main(String[] args){
TestInterface a = new Stone();
}
}