zoukankan      html  css  js  c++  java
  • java中的抽象方法与抽象类

    在继承时,会遇到一个问题。如果很多子类都要继承父类的一个方法,但是实现的逻辑都不一样。

    这时候父类只提供了方法名,但是没有具体的方法体。

    例如,男孩类和女孩类都继承人类这一个父类。人类有爱好这个方法,但是男孩类和女孩类继承这个方法时,方法体不一样。所以人类只提供了爱好这个方法名,并没有具体的方法体。这个方法就是抽象方法。

    在java中,抽象方法要用abstract关键词修饰。

    示例:

    abstract class People{
        public abstract void hobby();
    }
    
    class Boy extends People{
    
        @Override
        public void hobby() {
            System.out.println("男孩喜欢打球");
        }
    }
    
    class Girl extends People{
    
        @Override
        public void hobby() {
            System.out.println("女孩喜欢跳舞");
        }
    }

    需要注意的是:

    1. 有抽象方法的类必须是抽象类,也要用abstract修饰。
    2. 一个类继承了抽象类,必须重写抽象类的全部方法,否则,这个类也要是抽象类。
    3. 抽象类不能创建对象(即抽象类不能实例化)。
    4. 抽象类可以有成员变量,当然也可以有构造方法,因为构造方法的作用是初始化成员变量。
    5. 抽象类可以有非抽象方法。
  • 相关阅读:
    poj 3616 Milking Time
    poj 3176 Cow Bowling
    poj 2229 Sumsets
    poj 2385 Apple Catching
    poj 3280 Cheapest Palindrome
    hdu 1530 Maximum Clique
    hdu 1102 Constructing Roads
    codeforces 592B The Monster and the Squirrel
    CDOJ 1221 Ancient Go
    hdu 1151 Air Raid(二分图最小路径覆盖)
  • 原文地址:https://www.cnblogs.com/chichung/p/10214877.html
Copyright © 2011-2022 走看看