静态方法不能被子类覆盖
来源:互联网 发布:手机记笔记软件 编辑:程序博客网 时间:2024/04/19 05:34
静态方法只与定义时所在的类相关,在编译期就已经绑定到某个类。可以继承,但不能在子类中被同名方法覆盖.
网上有一句话:类的引用指向子类时,当用到方法时,调用的是子类的对象.当用到属性时,用到的是父类对象.这个不适合静态方法.
代码测试如下:
public class Test1 {
final int var_final = 100;
void doit(){
System.out.println(var_final);
}
static int myFunction(){
return 500;
}
}
public class Test2 extends Test1{
final int var_final = 200;
public Test2(){
super();
}
void doit(){
System.out.println(var_final);
}
static int myFunction(){
return 1000;
}
public static void main(String[] str){
Test1 test = new Test2();
System.out.println("var_final = "+test.var_final);
System.out.println("myFunction = "+test.myFunction());
}
}
因为不管是静态方法,还是静态成员,他只属于这个类。类对像(Class)没有像实例一样的包容形式。只能各自调用各自的静态成员与方法。
0 0
- 静态方法不能被子类覆盖
- java非静态方法为什么不能被子类覆盖为静态方法
- java_静态方法能否被子类重写
- 父类的静态方法能否被子类重写
- 父类的静态方法能否被子类重写
- 关于父类静态方法能不能被子类重写详细
- 关于父类的静态方法能否被子类重写的问题
- 调用被子类重写的方法
- 静态方法不能使用 super 调用父类静态方法
- 不能随便覆盖start()方法
- java父类调用被子类重写的方法
- 父类构造器调用被子类重写的方法
- java的main方法能不能被子类继承
- Java之调用被子类重载的方法
- 关于静态方法的覆盖
- 怎样访问被子类同名覆盖(overwrite)的基类函数?
- 子类不能继承或覆盖父类的private方法
- [Java]static、final修饰的方法是否可以被子类继承、是否可以被子类重写及final修饰详解
- 使用bosh—cli在vsphere上部署micro bosh
- Java主线程等待子线程、线程池
- java 第六天 面向对象(基础篇之static)
- Jaxb annotation初步使用
- JavaScript正则比较两个字符串
- 静态方法不能被子类覆盖
- CSipSimple 简单分析
- 第2周:Java事件处理
- 免拷贝java lib或依赖项目的create_project.py
- C#下的Directshow
- POJ 3469 Dual Core CPU 最小割问题
- Accepting-Encoding
- 使用eclipse编写Python的IDE配置
- 当我们面对灾难