Java面试题:抽象类必须要有抽象方法吗?

本文将介绍“抽象类必须要有抽象方法吗?”面试题

不需要,抽象类不一定非要有抽象方法。

Java 语言中,用 abstract 关键字来修饰一个类时,这个类叫作抽象类。抽象类是它的所有子类的公共属性的集合,是包含零个或多个抽象方法的类。抽象类可以看作是对类的进一步抽象。在面向对象领域,抽象类主要用来进行类型隐藏。

示例代码

(1)抽象类,可以不定义抽象方法

public abstract class MyAbstract {

    public void show(String message) {
        System.out.println(message);
    }

}

public class Demo extends MyAbstract {

    public static void main(String[] args) {
        Demo demo = new Demo();
        demo.show("Hello World");
    }

}

运行示例,输出如下:

Hello World

(2)内部抽象类,可以不定义抽象方法

public class Demo {

    public static void main(String[] args) {
        Demo demo = new Demo();
        BigTruck bigTruck = demo.new BigTruck();
        bigTruck.name();

        Bus bus = demo.new Bus();
        bus.name();
    }

    /** 汽车(一个抽象类,没有定义任何抽象方法) */
    abstract class Car {
        public void name() {}
    }

    /** 大卡车 */
    class BigTruck extends Car {
        @Override
        public void name() {
            System.out.println("大卡车");
        }
    }

    /** 公交车 */
    class Bus extends Car {
        @Override
        public void name() {
            System.out.println("公交车");
        }
    }
}

运行示例,输出如下:

大卡车
公交车
沉浸于现实的忙碌之中,没有时间和精力思念过去,成功也就不会太远了。——雷音
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号