Java final static
idea 错误提示
@Override 重写方法的目的是为了多态, 重写是实现多态的前提, 即重写是发生于继承且针对非static方法
语法上子类允许出现和父类只有方法体不一样的static方法, 但语法上static支持重写, 但是运行上达不到多态
a的编译类型为 父类A, 运行类型为 子类B, a调用static方法时, 是依据编译类型, 没有多态
当定义方法为static final时
When a static method is overriden in a subclass it can still be accessed via the superclass making the final declaration not very necessary. Declaring a static method final does prevent subclasses from defining a static method with the same signature.
将一个static方法声明为final是不必要的, 声明为final可以阻止子类定义相同签名的static方法
static方法属于类, static方法无this隐式参数, 可以使用类名直接调用static方法
方法被声明为static:
- 无需访问对象
- 只需要访问类的static域
static方法不能被Override,但是可以被子类相同signature的方法hide,子类的static方法不是Override,而是hide, 如果在子类中直接调用该static方法,会调用子类重新定义的,而不是父类的,而父类定义为 static final
final会阻止隐藏, 故子类重新定义static方法会报错
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-07-07 Vasp & Gaussian
2020-07-07 python易错点