自己做的一点笔记...

抽象类:使用关键词 abstract 进行修饰,抽象类不能生成对象(实例化),且含有抽象方法(使用 abstract 进行声明,并且没有方法体)。

 

特点:

  1️⃣  抽象类不一定有抽象方法,但是有 abstract 修饰的方法,则其必须是抽象类;

  2️⃣  子类如果继承了抽象类,则必须重写抽象类中的方法;

  3️⃣  抽象类不能定义为 private 因为,它需要通过继承,才能有意义(子类不能修改 private 修饰的类的成员);

  4️⃣  如果子类继承了抽象类,但是没有实现父类的抽象方法,则子类也必须定义为抽象类。

 

作用:抽象类,给事物进行抽象,如果一些某些事物拥有同样的行为,就可以通过抽象类来统一进行规范,例如通过定义泛型的抽象类:

 

package leetcode.abstructs;

import java.util.List;

/**
 * @todo 抽象类的应用测试
 * @since 9:44 2019/1/29
 * @author hanyf
 */
public abstract class MyAbstract<T> {
    private List<T> list;

    public MyAbstract() {
    }

    public MyAbstract(List<T> list) {
        this.list = list;
    }

    public void method(){
        for (T t : list){
            doLoop(t);
        }
    }

    /**
     * @todo 抽象方法,在实例化调用该类的此抽象方法,并且可以对它进行重写
     * @since 9:51 2019/1/29
     * @author hanyf
     * @params
     * @return
     */
    public abstract void doLoop(T t);
}
抽象类

相关文章:

  • 2021-08-27
  • 2022-12-23
  • 2021-10-06
  • 2021-05-27
  • 2021-12-28
  • 2021-08-08
  • 2021-07-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-09
  • 2022-01-09
  • 2022-12-23
  • 2022-01-09
相关资源
相似解决方案