• 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. 抽象类可以有非抽象方法。
  • 相关阅读:
    Socket与系统调用深度分析
    需求分析:未来的图书会是怎么样的?
    构建调试Linux内核网络代码的环境MenuOS系统
    jmeter--开始
    pytest---api
    pytest---mark
    pytest---数据处理
    pytest---fixture运行规则
    pytest---allure(mac版本)
    pytest---pytest.ini
  • 原文地址:https://www.cnblogs.com/chichung/p/10214877.html
Copyright © 2020-2023  润新知