静态(static)方法重写(override)
来源:互联网 发布:apache benchmark 编辑:程序博客网 时间:2024/05/17 03:30
父类的普通方法可以被继承和重写,不多作解释,如果子类继承父类,而且子类没有重写父类的方法,但是子类会有从父类继承过来的方法。
静态的方法可以被继承,但是不能重写。如果父类中有一个静态的方法,子类也有一个与其方法名,参数类型,参数个数都一样的方法,并且也有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类型的引用调用的。
静态的方法不能覆写,也不能被重写。总之,静态的没有重写!!!
- 静态(static)方法重写(override)
- 静态(static)方法重写(override)
- 静态(static)方法不可以重写(override)
- java中静态(static)的方法为什么不能重写(override)
- java中静态(static)的方法为什么不能重写(override)
- static的继承:静态方法只能隐藏(hidden),不能重写(override)
- C#方法重写(override)
- 方法的重写(override)
- 方法重写(override)原则
- 静态方法 (static)
- JavaDay05--Notes(方法,方法重载Overload,方法重写Override)
- 方法重载(Overload)和方法重写(Override)
- 028.Override 方法的重写(方法覆盖)
- 028.Override 方法的重写(方法覆盖)
- 方法重载(Overload)和方法重写(Override)
- overload与override(方法重载与方法重写)
- 静态(static)方法的继承和重写
- 静态(static)方法的继承和重写
- PHP文件操作之,插入某行,删除某行,获取行号
- Blktrace原理简介及使用
- uva 1428 - Ping pong
- OpenCV实现Matlab的fspecial('gaussian',m,sigma) 生成高斯核
- jquery ajax pt4
- 静态(static)方法重写(override)
- 【CodeForWork】替换添加双引号
- java迭代器
- Centos分区心得
- 만물(萬物)은 모두 반생(反生)
- Android EditText输入框 软键盘
- javascript 简单缓存应用
- ALTER TABLE 只允许添加满足下述条件的列: 列可以包含 Null 值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;或者,如果前几个条件均未满足,则表必须为空以允
- linux相关知识之特殊符号做目录