package test;
/**
* 接口的意义:
*1.多态的前提条件之一
*2.弥补了普通类,抽象类间的单继承的缺陷,接口之间可以多继承,某个普通类或抽象类可以多实现接口
*3.普通类实现接口时,必须重写里面的所有的方法
*/
interface a{
void k();
}
interface b{}
interface A extends a,b{
public void AA1();
public void AA2();
public void AA3();
}
/**
* 抽象类B对AA1方法做了空实现
*
* 抽象类的意义:
* 1.可以在接口和普通类之间做桥接,因为抽象类实现接口,可以实现部分方法
* 2.虽然只能被单继承,但是类中可以拥有普通方法和抽象方法
* 3.对一系列的事务作抽象,让子类必须实现,从而有预测声明的作用,所以体现了面向对象的封装性,抽象性
* 4.因为多态的前提条件之一是继承,所以体现了面向对象的多态性
*
*/
abstract class B implements A {
@Override
public void AA1() {}
@Override
public abstract void AA2();
}
//test继承B类时,只需重写AA2(),AA3()
class test extends B{
@Override
public void AA2() {}
@Override
public void AA3() {}
@Override
public void k() {
// TODO Auto-generated method stub
}
}
//test1实现接口时,全部重写
class test1 implements A {
@Override
public void AA1() {}
@Override
public void AA2() {}
@Override
public void AA3() {}
@Override
public void k() {
// TODO Auto-generated method stub
}
}
接口与抽象类的浅析
最新推荐文章于 2021-07-26 08:59:20 发布