zoukankan      html  css  js  c++  java
  • 抽象方法与抽象类

    package cn.learn.chouxiang;
    /*
    抽象方法:就是在成员方法前加上abstract关键字,去掉大括号,分号结束
              实际意义一般在父类表示某种东西的行为,但行为的发生情况不一样
    
    抽象类:含有抽象方法的类必须是抽象类,抽象类中不必包含抽象方法
    
    如何使用抽象类和抽象方法:
    1.不能直接 new 抽象类,必须用子类继承抽象类
    2.子类必须重写抽象类所有的抽象方法,不用再加abstract
    3.子类来创建对象
    
    注意:子类构造方法中会有默认super调用父类构造方法
    
    没有抽象方法的抽象类,也不能直接new,设计模式中会使用得到
    
    若最高抽象父类含该事物的所有抽象方法
    但第一个继承的子类无法唯一区分父类的重写,可以仍为抽象类,重写父类的某一抽象方法,其余的抽象继续由下面的子类继续重写,以此类推
    
    
     */
    
    public abstract class Animals {
    
        public  Animals(){
            System.out.println("父类构造方法执行");
        }
    
        //抽象方法
        public abstract void eat();
    
    }
    package cn.learn.chouxiang;
    
    public class Cat extends Animals {
        public  Cat(){
            //默认有个super调用父类的构造方法
            System.out.println("子类构造方法执行");
        }
    
        @Override
        public void eat() {
            System.out.println("我是继承了抽象类的cat,我必须重写所有抽象方法");
        }
    }
    package cn.learn.chouxiang;
    
    public class BeginEat {
        public static void main(String[] args) {
            Cat cat=new Cat();
            cat.eat();
            //父类构造方法执行
            //子类构造方法执行
            //我是继承了抽象类的cat,我必须重写所有抽象方法
        }
    
    }
  • 相关阅读:
    Embedded
    uboot第一阶段详细分析
    nandflash裸机程序分析
    u-boot在nandflash中的前4k内容分析
    使用JLink间接烧写s3c6410 nand_flash的方法
    Emacs
    U-boot 软浮点 错误 解决方法
    linux系统移植流程
    使用JLink烧写bin文件到Mini2440
    uboot-2012.07移植到fl2440开发板(一)
  • 原文地址:https://www.cnblogs.com/huxiaobai/p/11456379.html
Copyright © 2011-2022 走看看