接口
1.是一种引用数据类型
2.由interface定义
3.只能包含常量和抽象方法
4.接口不能被实例化
5.接口是需要被实现/继承的,实现/派生类: 必须重写所有抽象方法
6.一个类可以实现多个接口,用逗号分隔。若又继承又实现时,应先继承后实现
7. 接口可以继承接口
类和类----------------继承extends
接口和接口----------继承extends
类和接口-------------实现implements
public interface Inter {//接口由interface定义
public static final double PI=3.14;//常量
public abstract void show();//抽象方法
}
public interface Inter3 extends Inter2{//接口继承接口
public abstract void e();
}
public class Coo extends Boo implements Inter1,Inter2{ //先继承后实现,实现多个接口,用逗号分隔
public void d(){
}
public void a(){
}
public void b(){
}
public void c(){
}
}
/* 接口的练习:
* 1)定义接口Inter,包含常量PI以及抽象方法show()
* 2)定义接口Inter1,包含a()和b()
* 定义类Aoo,实现Inter1
* 3)定义接口Inter2,包含c()
* 定义抽象类Boo,包含抽象方法d()
* 定义类Coo,继承Boo,实现Inter1和Inter2
* 4)定义接口Inter3,继承Inter2,包含e()
* 定义类Doo,实现Inter3
* 5)main中:
* 5.1)Inter3 o1 = new Inter3();------------???
* 5.2)Inter3 o2 = new Doo();---------------???
* 5.3)Inter2 o3 = new Doo();---------------???
*/
public class InterDemo {
public static void main(String[] args) {
//Inter3 o1=new Inter3();//编译错误 抽象方法不能实例化
Inter3 o2=new Doo();
Inter2 o3=new Doo();
}
}
interface Inter{
public static final double PI=3.1415;
public abstract void show();
}
interface Inter1{
public abstract void a();
public abstract void b();
}
class Aoo implements Inter1{
public void a(){
}
public void b(){
}
}
interface Inter2{
public abstract void c();
}
abstract class Boo{
public abstract void d();
}
class Coo extends Boo implements Inter1,Inter2{
public void d(){
}
public void a(){
}
public void b(){
}
public void c(){
}
}
interface Inter3 extends Inter2{
public abstract void e();
}
class Doo implements Inter3{
public void e(){
}
public void c(){
}
}