继承 + 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();
    }
}
相关推荐
在繁华处1 分钟前
Java从零到熟练(十一):Spring框架入门
java·开发语言·spring
小锋java12342 分钟前
【技术专题】LangChain4j 开发Java Agent智能体 - 整合SpringBoot4
java·人工智能
十五年专注C++开发4 分钟前
cereal 库:C++ 序列化的轻量之选
开发语言·c++·序列化·反序列化·cereal
星卯教育tony24 分钟前
2026年全国青少年信息素养大赛主题应用 数字守艺人 丝路新城 星火征程 智传民韵 c++ python scratch 所有真题免费分享
开发语言·c++
飞翔中文网33 分钟前
Java学习笔记之抽象类
java·笔记·学习
z落落36 分钟前
C# 继承:父子构造函数 + base 关键字 +五大访问修饰符(同项目+跨项目 全覆盖)
开发语言·c#
海盗123438 分钟前
C#中PDF操作-QuestPDF页面设置与布局
java·pdf·c#
day day day ...1 小时前
MyBatis / MyBatis-Plus 动态 SQL 中 OGNL 表达式的常见陷阱与源码分析
java·开发语言·mybatis
basketball6161 小时前
C++ bitset 头文件完全指南
开发语言·c++
Kiling_07041 小时前
Java IO流:字节流实战与性能优化
java·开发语言·php