27_方法的重写
07_方法的重写
-
子类重写父类的方法
-
静态方法等级较高,不算重写
public class Application { public static void main(String[] args) { A a = new A(); a.test();//Atest //父类B的引用指向子类A B b = new A(); b.test();//Btest } }
public class B { public static void test(){ System.out.println("Btest"); } }
public class A extends B { public static void test(){ System.out.println("Atest"); } }
-
非静态方法实现重写
public class Application { public static void main(String[] args) { A a = new A(); a.test();//Atest //父类B的引用指向子类A B b = new A(); b.test();//Atest } }
public class B { public void test(){ System.out.println("Btest"); } }
public class A extends B { public void test(){ System.out.println("Atest"); } }
-
小提示
- IDEA中重写方法会标志O,可以明显看出。
- 重写条件:
- 子类重写父类。
- 方法名相同。
- 参数列表相同。
- 权限不能为private,可以扩大但不能缩小。
- 抛出异常范围可以被缩小,不能扩大。
- 为什么需要重写?
- 父类功能子类不一定需要。
- IDEA快捷键alt+insert:override。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~