• 048_面向对象_21_抽象方法


    一、概念部分

      1)抽象方法:只声明了方法,同时使用了abstract修饰,没有方法体!必须要子类来重写!

      2)抽象类:包含抽象方法的类(用abstract修饰)叫做抽象类。

        抽象类中定义的抽象方法必须被子类实现、如果不实现,那么它的子类也应该是抽象的类。

    二、抽象类的使用要点
      1.通过抽象类,可以避免子类设计的随意性。因为抽象的方法必须被子类重写。
      2.有抽象方法的类只能定义成抽象类
      3.抽象类不能实例化,及不能用new来实例化抽象类。但是可以有自己的构造方法。
      4.抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
      5.抽象类只能用来继承。
      6.抽象方法必须被子类实现。这样就避免了子类设计的随意性

      7.普通方法中可以调用抽象方法

    三、演示示例

      

    package edu.aeon.test;
    
    /**
     * [说明]:动物类
     * 
     * @author aeon
     *
     */
    public abstract class Animal {
        String str;
    
        public abstract void run(); // 抽象方法的意义在于:将方法的设计和实现分离!
    
        public void breath() {
            System.out.println("呼吸!");
            run(); //普通方法中可以调用抽象方法
        }
    
        public Animal() {
            System.out.println("创造一个动物!");
        }
    }
    
    class Cat extends Animal {
        public void run() {
            System.out.println("猫步小跑");
        }
    }
    
    class Dog extends Animal {
        public void run() {
            System.out.println("狗跑");
        }
    }
    package edu.aeon.test;
    /**
     * [说明]:测试抽象类
     * @author aeon
     *
     */
    public class Test {
    
        public static void main(String[] args) {
            Animal a = new Cat();
            a.breath();
        }
    }

    测试结果截图:

      

     

    如有任何疑问可联系邮箱: 给我发邮件、或直接联系QQ:1584875179 || 点返回首页

  • 相关阅读:
    nignx重启启动关闭
    Tomcat日志配置
    误删除了mssql的表。 使用命令:drop table xxxx
    使用redis-cli定时执行指定命令
    在crontab中动态写日志
    循环日期的shell
    CountDownLatch、CyclicBarrier、Semaphore 区别
    log4j 知识点
    slf4j-api、slf4j-log4j12、log4j 之间是什么关系?
    HTTP协议中的长连接、短连接、长轮询、短轮询
  • 原文地址:https://www.cnblogs.com/aeon/p/9976969.html
Copyright © 2020-2023  润新知