zoukankan      html  css  js  c++  java
  • 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 || 点返回首页

  • 相关阅读:
    MySQL事务隔离级别和MVCC
    windows环境下查看端口是否被占用
    jar找不到问题解决
    Java注解
    Fastjson
    mybatis
    Idea快捷键
    Date与String的相互转换
    Windows快捷键
    [转]linux awk命令详解
  • 原文地址:https://www.cnblogs.com/aeon/p/9976969.html
Copyright © 2011-2022 走看看