/*
* 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另外一种形式定义和表示,就是 接口 interface
*
* 对于接口当中常见的成员,而且这些成员都是固定的修饰符
* 1.全局变量:public static final
* 2.抽象方法 public abstract
* 由此得出结论,接口中的成员都是公共的权限
*/
/*
* 定义接口
*/
interface Demo{
public static final int NUM = 4;
public abstract void show1();
public abstract void show2();
}
/*
* 类与类之间是继承关系,类与接口之间是实现关系
*/
/*
* 接口不可以实例化
* 只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化,否则,这个子类就是一个抽象类
*/
class DemoImpl implements Demo{
public void show1() {
}
public void show2() {
}
}
/*
* 在Java中不直接支持多继承,因为会出现调用的不确定性
* 所以Java将多继承机制进行改良,在Java中变成了多实现
* 一个类可以实现多个接口
*/
/*
* 接口的出现避免了单继承的局限性
*/
/*
* 接口与接口之间是继承关系,而且接口可以多继承
* 类与类直接是继承,单继承
* 类与接口是实现,可以多实现
*/
/*
* 接口的特点
* 1.接口是对外暴露的规则
* 2.接口是程序的功能扩展
* 3.接口的出现降低耦合性
* 4.接口可以用来多实现
* 5.类和接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
* 6.接口与接口之间可以多继承
*/
/*
* 接口与抽象类的区别
* 相同点:都是不断向上抽取而来的
* 不同点:
* 1.抽象类需要被继承,而且只可以单继承.接口需要被实现,可以多实现
* 2.抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法.接口中只能定义抽象方法,必须由子类去实现
* 3.抽象类的继承,是is a 关系.在定义该体系的基本共性内容.
* 接口的实现是 like a关系.在定义额外功能.
* 4.
*/
public class InterfaceDemo {
public static void main(String[] args) {
DemoImpl d = new DemoImpl();
// System.out.println(d.NUM);
System.out.println(DemoImpl.NUM);
System.out.println(Demo.NUM);
}
}
* 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另外一种形式定义和表示,就是 接口 interface
*
* 对于接口当中常见的成员,而且这些成员都是固定的修饰符
* 1.全局变量:public static final
* 2.抽象方法 public abstract
* 由此得出结论,接口中的成员都是公共的权限
*/
/*
* 定义接口
*/
interface Demo{
public static final int NUM = 4;
public abstract void show1();
public abstract void show2();
}
/*
* 类与类之间是继承关系,类与接口之间是实现关系
*/
/*
* 接口不可以实例化
* 只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化,否则,这个子类就是一个抽象类
*/
class DemoImpl implements Demo{
public void show1() {
}
public void show2() {
}
}
/*
* 在Java中不直接支持多继承,因为会出现调用的不确定性
* 所以Java将多继承机制进行改良,在Java中变成了多实现
* 一个类可以实现多个接口
*/
/*
* 接口的出现避免了单继承的局限性
*/
/*
* 接口与接口之间是继承关系,而且接口可以多继承
* 类与类直接是继承,单继承
* 类与接口是实现,可以多实现
*/
/*
* 接口的特点
* 1.接口是对外暴露的规则
* 2.接口是程序的功能扩展
* 3.接口的出现降低耦合性
* 4.接口可以用来多实现
* 5.类和接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
* 6.接口与接口之间可以多继承
*/
/*
* 接口与抽象类的区别
* 相同点:都是不断向上抽取而来的
* 不同点:
* 1.抽象类需要被继承,而且只可以单继承.接口需要被实现,可以多实现
* 2.抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法.接口中只能定义抽象方法,必须由子类去实现
* 3.抽象类的继承,是is a 关系.在定义该体系的基本共性内容.
* 接口的实现是 like a关系.在定义额外功能.
* 4.
*/
public class InterfaceDemo {
public static void main(String[] args) {
DemoImpl d = new DemoImpl();
// System.out.println(d.NUM);
System.out.println(DemoImpl.NUM);
System.out.println(Demo.NUM);
}
}