当前位置 : 主页 > 手机开发 > 其它 >

抽象类的理解,实际开发中的使用,以及对比接口的好处

来源:互联网 收集:自由互联 发布时间:2021-06-19
总结:抽象类的好处,使用接口也可以,子类需要实现其所有方法,就会发现多很多空的方法不必实现,这时就能体现到抽象类的好处,可以不重写 下面的代码可以复制到一个类中,更

 总结:抽象类的好处,使用接口也可以,子类需要实现其所有方法,就会发现多很多空的方法不必实现,这时就能体现到抽象类的好处,可以不重写

下面的代码可以复制到一个类中,更直白提现

package abstractClass;
/**
 * 抽象类跟接口在实际开发中的使用
 * 接口:常用,实现类serviceImpl实现service接口,重写接口的所有方法(接口提供规范,规范其子类必须做什么)
 * 抽象类:非抽象类继承抽象类:不必需实现抽象类的抽象方法,也可以不重写非抽象方法
 *          抽象类继承抽象类:必需实现抽象类的抽象方法,可以不重写非抽象方法(抽象类提供模板,约束子类应该做什么,那些不必须做)
 *  todo 抽象类的好处,使用接口也可以,子类需要实现其所有方法,但发现多很多空的方法不必实现,这时就能体现到抽象类的好处,可以不重写
 */

/**
 * 抽象类Abc
 */
public abstract class Abc {
    public abstract void a();
    public void b(){};
}

/**
 * 抽象类Def继承抽象类Abc   不必需实现抽象类的抽象方法
 */
abstract class Def extends Abc {

    public abstract void c();
    public void d(){};
}

/**
 * 类A继承抽象类Def,必须重写:Def的抽象方法跟Abc的抽象方法
 */
class A extends Def{

    @Override
    public void a() {

    }

    @Override
    public void c() {

    }
}
/**
 * 类B继承抽象类Abc,必须重写:Abc的抽象方法,也可以重写非抽象方法
 */
class B extends Abc{

    @Override
    public void a() {

    }
    @Override
    public void b() {

    }
}
网友评论