继承 + static + final 综合应用

考察知识点 :extends、static、final、方法隐藏

1.编程要求:

  1. 父类 Car:final 常量 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();
    }
}
相关推荐
niucloud-admin7 分钟前
JAVA V6 多商户商城 开发文档——JAVA服务端
java·开发语言
alexlifexyz21 分钟前
写了个 Claude Code 插件:AI 写的 Java 违反阿里规约,就写不进文件
java
轻舟技术A22 分钟前
Pi 的 Rust 实现来了:rpi,不止一个终端 Agent
开发语言·后端·rust
威哥爱编程34 分钟前
【AI全栈12-01】Spring Boot 为何是 AI 全栈后端优选
java·spring boot·后端
威哥爱编程36 分钟前
【AI全栈12-03】Spring Boot 用多模型路由把智能客服成本降下来
java·spring boot·后端
威哥爱编程37 分钟前
【AI全栈12-02】Spring Boot 跑通第一个 AI 对话接口:HR 政策问答机器人实战
java·spring boot·后端
Wang's Blog38 分钟前
Java 中间件之 RabbitMQ 快速入门: 异步通讯的优缺点
java·中间件·java-rabbitmq
用户0942485680340 分钟前
第31章:JVM字节码解释器与模板解释器源码路径
java·jvm
额额额对了40 分钟前
嵌入式 Linux 启动程序文件
开发语言·嵌入式硬件·php