zoukankan      html  css  js  c++  java
  • Java 抽象类的简单使用

    自己做的一点笔记...

    抽象类:使用关键词 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);
    }
    抽象类
    package leetcode.test;
    
    import leetcode.abstructs.MyAbstract;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class 抽象方法{
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            int i = 20;
            while (i>0){
                list.add("I'm String for "+ i);
                i--;
            }
    
            //抽象类的实现
            //重写了抽象类方法实现
            new MyAbstract<String>(list){
                @Override
                public void doLoop(String s) {
                    System.out.println(s);
                }
            }.method();
        }
    }
    main方法
  • 相关阅读:
    JAVA正则表达式:Pattern类与Matcher类详解(转)
    java基础知识拾遗(四)
    java.sql.Types,数据库字段类型,java数据类型的对应关系
    根据字节码探讨java自增运算符的原理
    JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别
    JAVA线程间的状态转换
    java基础知识拾遗(三)
    java布尔值进行and和or逻辑运算原理
    java字节码指令集
    shell实现SSH自动登陆【转】
  • 原文地址:https://www.cnblogs.com/mysouler/p/10380718.html
Copyright © 2011-2022 走看看