1.如果一个类中完全由全局常量( static final ),抽象方法声明,则可以定义一个接口。
interface 接口名称{
全局常量;
抽象方法;
}
interface A{
public static finalString NAME=" 张三";
public abstract void fun();
public abstract String getInfo();
}
前面的关键字可以省略,应为接口中会默认全局常量和抽象方法
与抽象类一样 接口的使用也必须要通过子类实现,通过关键字implements实现,子类必须覆写全部抽象方法。。。。。
class 子类 implements 接口A,接口B{
}
interface A{
public static final String NAME=" 张三"; //全局常量
public abstract void fun(); //抽象方法
};
interface B
{
public abstract void print(); //抽象方法
};
class C implements A,B //c同时实现A接口和B接口
{
public void fun(){
System.out.println("覆写A中的抽象方法-------");
}
public void print(){
System.out.println("覆写B中的抽象方法-------");
}
};
public class InterfaceDemo02
{
public static void main(String args[]){
C c=new C();
c.print();
c.fun();
}
};
一个子类可以同时继承抽象类和实现接口
class 子类 extends 抽象类 implements 接口A,接口B,接口c.....{}
interface class A{
public static final String NAME=" 张三"; //全局常量
public abstract void fun(); //抽象方法
};
abstract class B
{
public abstract void print(); //抽象方法
};
class C extends B implements A //c同时继承A类和实现B接口
{
public void fun(){
System.out.println("覆写A中的抽象方法-------");
}
public void print(){
System.out.println("覆写B中的抽象方法-------");
}
};
public class InterfaceDemo03
{
public static void main(String args[]){
C c=new C();
c.print();
c.fun();
}
};
抽象类可以实现接口,但是抽象类的子类必须覆写抽象类和接口中的抽象方法
interface class A{
public static final String NAME=" 张三"; //全局常量
public abstract void fun(); //抽象方法
};
abstract class B implements A
{
public abstract void print(); //抽象方法
};
class C extends B //c继承抽象类B
{
public void fun(){
System.out.println("覆写A中的抽象方法-------");
}
public void print(){
System.out.println("覆写B中的抽象方法-------");
}
};
public class InterfaceDemo03
{
public static void main(String args[]){
C c=new C();
c.print();
c.fun();
}
};
接口的多继承
一个接口可以通过extends 关键字同时继承多个接口,实现接口的多继承。
interface 子接口 extends 接口1,接口2,接口3.。。。。。。。。。{}