/*
接口
当一个抽象类中德方法都是抽象的时候,这时可以将该抽象类用
另一种形式定义和表示,就是接口,interface。
定义接口使用的关键字是interface。
对于接口中常见的成员:这些成员都有固定的修饰符。
1,全局常量:public static final
2,抽象方法:public abstract
由此得出结论,接口中的成员都是公共的权限。
继承与实现的区别:
1,类与类之间的关系是继承关系,所以,子类中不必要实现父类中的全部方法
而类与接口之间是实现关系,类要实现其接口中的全部方法。
*/
interface Demo
{
public void show1();
public void show2();
}
//类与类之间是继承关系,类与接口之间是实现关系。
/*
接口不可以实例化。只能由实现了接口的子类并覆盖了接口中所有的抽象方法,该子类才可以被是实例化
否则,这个子类就是抽象类。
*/
class DemoImpl implements Demo
{
public void show1(){}
public void show2(){}
}
/*
在Java中,不直接支持多继承,因为会出现调用的不确定性
所以,在java中将多继承机制进行了改良,在Java中变成了多实现。
一个类可以实现多个接口
*/
interface A
{
public void show();
}
interface B
{
public void show();
}
class Test implements A,B//多实现,同时覆盖了A、B中的show方法。
{
public void show(){}
}
/*
一个类在继承另一个类的同时,还可以实现多个接口。
接口的出现避免了单继承的局限性
接口与接口之间是继承关系,而且接口可以多继承。
*/
class C
{
public void show1(){}
}
class Test extends C implements A,B
{
}
/*
接口的特点:
1,接口是对外暴露的规则
2,接口是程序的功能扩展
3,接口的出现降低了耦合性
4,借口可以用来多实现
5,类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
6,接口与接口之间可以是继承关系。
*/
/*
抽象类和接口的异同点:
*/