继承 + static + final 综合应用

考察知识点extendsstaticfinal、方法隐藏

1.编程要求

  1. 父类 Carfinal 常量 MAX_SPEED、静态方法 run()、普通方法;
  2. 子类 ElectricCar 继承 Car:尝试重写父类静态方法(验证静态方法是隐藏,不是重写);
  3. 子类无法重写父类 final 方法;
  4. 测试:分别用父类、子类对象调用静态方法,观察结果。

打印结果:

汽车在行驶

电动车在行驶

汽车最大速度:280.0

2.解题过程

复制代码
package Date501;

class Car {
    // 1. final 常量:最大速度
    public static final int MAX_SPEED = 120;

    // 静态方法
    public static void run() {
        System.out.println("父类汽车在公路上行驶");
    }

    // final 普通方法:禁止子类重写
    public final void showInfo() {
        System.out.println("汽车最高时速:" + MAX_SPEED);
    }
}
复制代码
class ElectricCar extends Car {
    // 静态方法【方法隐藏】,不是方法重写
    public static void run() {
        System.out.println("子类电动车在省电行驶");
    }

    // 下面这行代码会报错:final 方法不能被重写
    // @Override
    // public void showInfo() {}
}
复制代码
public class TestCar {
    public static void main(String[] args) {
        // 静态方法推荐用 类名.方法 调用
        System.out.println("---父类调用静态方法---");
        Car.run();

        System.out.println("---子类调用静态方法---");
        ElectricCar.run();

        // 多态引用调用静态方法:编译看左边,运行也看左边
        System.out.println("---多态引用调用静态方法---");
        Car car = new ElectricCar();
        car.run();

        // 调用final方法
        System.out.println("---调用final方法---");
        car.showInfo();
    }
}
相关推荐
jaysee-sjc4 分钟前
【苍穹外卖】Day01:从零认识企业级项目开发
java·开发语言·数据库·mysql·spring·intellij-idea·mybatis
雨辰AI6 分钟前
多租户数据库资源配额管控|避免租户资源抢占雪崩(金仓 / 达梦 / 高斯 /openGauss 全库原生适配)
java·大数据·数据库·后端
ThornArmor8 分钟前
《向内深潜,向外飞掠》
c语言·开发语言·c++·vim·visual studio
AI深栈9 分钟前
第 12 章 · AI智能体的结构化输出与流式响应
java·人工智能
传奇开心果编程9 分钟前
【仓颉语言基础语法学与练】第1课:从零开始
开发语言·学习·华为
君顾113 分钟前
本地AI错题纠正小程序:端侧推理与错题闭环实战
java·开发语言·错题
吠品16 分钟前
Python 写入 Excel 的两种主流方案实际用法总结
c语言·开发语言·算法
Wang's Blog19 分钟前
Java 服务器: Linux-yum在线安装与lrzsz文件传输
java·服务器
邪修king23 分钟前
Re:Linux 系统篇(三十一):库的制作与原理Chapter2:静态链接与程序加载 —— 从磁盘 ELF 到运行中进程的完整旅程
android·linux·运维·开发语言
geovindu24 分钟前
rust: Factory Method Pattern
开发语言·设计模式·rust·工厂方法模式·创建型模式