048_面向对象_21_抽象方法

Posted aeon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
    }
}

测试结果截图:

  技术分享图片

 

 







以上是关于048_面向对象_21_抽象方法的主要内容,如果未能解决你的问题,请参考以下文章

013_面向对象_抽象类和接口

十面向对象编程_下

十面向对象编程_下

Java基础___面向对象__接口

Java面向对象(14)_抽象类和抽象方法

day07_雷神_面向对象进阶