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主从复制与读写分离
    MySQL主从同步、读写分离配置步骤
    c# 无损压缩图片,接口传过来的是字节
    C# 和JAVA AES加密之间的互相兼容,C#版
    list的线程非安全性
    webrequesthelper
    .net core 实现微信登陆
    .net core 实现QQ登陆网站
    c# 深拷贝
    在H+框架下的一个给iframe 的body 添加事件。
  • 原文地址:https://www.cnblogs.com/aeon/p/9976969.html
Copyright © 2011-2022 走看看