#JAVA#面向对象(接口与类之间的关系)
package 接口;
/*
类与类:
继承关系,只能单继承,可以多层继承
类与接口:
实现关系,可以单实现,也可以多实现
并且还可以在继承一个类的同时实现多个接口
接口与接口:
继承关系,可以单继承,也可以多继承
*/
interface Father{
public abstract void show();
}
interface Mother{
public abstract void show2();
}
interface Sister extends Father,Mother{
}
//class Son implements Father,Mother{} 多实现
class Son extends Object implements Father,Mother{
public void show() {
System.out.println("show son");
}
public void show2() {
System.out.println("show2 son");
}
}
class InterfaceDemo {
public static void main(String args[]) {
Father f=new Son();
f.show();
Mother m=new Son();
m.show2();
}
}
抽象类和接口区别:
A:成员区别
抽象类:
成员变量:可以变量,也可以常量
构造方法:有
成员方法:可以抽象,也可以非抽象
接口:
成员变量:只可以常量
成员方法:只可以抽象
B:关系区别
类与类
继承,单继承
类与接口
实现,单实现,多实现
接口与接口
继承,单继承,多继承
C:设计理念的区别
抽象类被继承体现的是:“is a”的关系,抽象类中定义的是该继承体现的共性功能
接口被实现体现的是:“like a”的关系,接口中定义的是该继承体系的扩展功能