package softspractice;
/*接口类 interface();
* 借口中的成员修饰符是固定的
* 成员常量:public static final
* 成员变量(抽象方法):public abstract
* 接口的出现将”多继承”通过另一种形式体现出来,即 “多实现”
*
* 初期理解:可以认为是一个特殊的抽象类
* 当抽象类中的方法都是抽象类,那么该类可以通过你接口的形式来表示
*
* class用于定义类
* interface用于定义接口
*
*定义接口时 格式特点:
*1 接口中常见定义 常量 抽象方法
*2 接口中标的成员变量都有自己的修饰符
* 成员常量:public static final
* 成员变量(抽象方法):public abstract
*记住:接口中的成员都是public
*
*接口:是不可以创建对象的 因为有抽象方法
*需要被子类实现,子类对接口类中的抽象方法全都覆盖后 子类才可以实例化;
*否则子类是一个实现类
*
*接口可以被类多实现,也是对多继承不支持的转换形式。JAVA支持多实现。
*
*JAVA支持多继承 只有在接口和接口多继承
* */
public class InterfaceDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test t = new Test();
System.out.println(t.NUM);
System.out.println(Test.NUM);
System.out.println(Inter.NUM);
}
}
interface Inter{//固定修饰符 类可 自动加上 全抽象 接口都是固定的
public static final int NUM=3;
public abstract void show();
}
class Test implements Inter{ //实现
public void show(){}//方法必须全覆盖
}
abstract class Demo{
abstract void show();
}
interface InterA{
public abstract void method();
}
class TestA extends Demo1 implements InterA,Inter{//继承一个类还可以实现接口 多实现
public void show(){}
public void method(){}
}
class Demo1{
}
//接口与接口之间是继承关系
interface A{
void methodA();
}
interface B extends A{
void methodB();
}
interface C extends B{
void methodC();
}
class D implements C{
public void methodA(){}
public void methodB(){}
public void methodC(){}
}