静态(static)方法不可以重写(override)
来源:互联网 发布:人工智能的原理及作用 编辑:程序博客网 时间:2024/05/16 18:42
父类的普通方法可以被继承和重写,不多作解释,如果子类继承父类,而且子类没有重写父类的方法,但是子类会有从父类继承过来的方法。
静态的方法可以被继承,但是不能重写。如果父类中有一个静态的方法,子类也有一个与其方法名,参数类型,参数个数都一样的方法,并且也有static关键字修饰,那么该子类的方法会把原来继承过来的父类的方法隐藏,而不是重写。通俗的讲就是父类的方法和子类的方法是两个没有关系的方法,具体调用哪一个方法是看是哪个对象的引用;这种父子类方法也不在存在多态的性质。《Java编程思想》中这样提到“只有普通的方法调用可以是多态的”。下面代码为例:
public class StaticTest { public static void main(String[] args) { M m = new N(); m.output(); } } class M { public static void output() { System.out.println("M"); } } class N extends M { public static void output() { System.out.println("N"); } }
上面执行的结果是“M”,也就是是M类型的引用调用的,如果修改main方法中的代码:
N n = new N();
n.output();
那么执行的结果是“N”,也就是N类型的引用调用的。
静态的方法不能覆写,也不能被重写。总之,静态的没有重写!!!
本文只为个人学习总结。
0 0
- 静态(static)方法不可以重写(override)
- 静态(static)方法重写(override)
- 静态(static)方法重写(override)
- java中静态(static)的方法为什么不能重写(override)
- java中静态(static)的方法为什么不能重写(override)
- static的继承:静态方法只能隐藏(hidden),不能重写(override)
- 静态方法可以重载但是不可以重写
- 静态方法可以重载但是不可以重写
- C#方法重写(override)
- 方法的重写(override)
- 方法重写(override)原则
- java 静态初始化块中,方法中不可以定义静态变量(重要)
- 静态方法 (static)
- JavaDay05--Notes(方法,方法重载Overload,方法重写Override)
- 方法重载(Overload)和方法重写(Override)
- 028.Override 方法的重写(方法覆盖)
- 028.Override 方法的重写(方法覆盖)
- 方法重载(Overload)和方法重写(Override)
- Android studio gradle 多渠道打包
- UIWebView来加载资源包问题
- ubuntu 下网络配置 和 ssh的安装
- Android 中如何计算 App 的启动时间?
- android service 总结(2)
- 静态(static)方法不可以重写(override)
- Android NDK开发之 NEON 矩阵转置,矩阵乘法实现
- go开发
- Java语言基础
- 后悬挂类型
- SurfaceView 实现 转盘抽奖
- 11.动态单元格的创建
- 扬帆,起航!
- 浅析arm的异常、中断和arm工作模式的联系