码迷,mamicode.com
首页 > 其他好文 > 详细

048_面向对象_21_抽象方法

时间:2018-11-18 11:31:24      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:nbsp   必须   system   继承   ring   避免   cat   应该   alt   

一、概念部分

  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();
    }
}

测试结果截图:

  技术分享图片

 

 

048_面向对象_21_抽象方法

标签:nbsp   必须   system   继承   ring   避免   cat   应该   alt   

原文地址:https://www.cnblogs.com/aeon/p/9976969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!