Java静态方法、静态变量是可以被继承的
背景:最近因为个人工作的原因,转战到Java领域。在学习过程中发现,网上有关Java静态继承,都说不能继承,且子类静态方法重写说成是隐藏了父类方法云云的。
下面我来挑战一下,如果不对请高手指正;如果对了希望对静态继承困惑的程序员有所帮助
1.类与对象的关系,先来张图压压惊
这里先来说明一下
· Sub、Father为Java类结构的底层实现,Sub继承Father通过super指针实现
· obj为Sub实例化的对象,其中fatherObj由Sub构造器底层实现,或构造器中调用super方法实现
2.方法的调用链
举个例子
背景:最近因为个人工作的原因,转战到Java领域。在学习过程中发现,网上有关Java静态继承,都说不能继承,且子类静态方法重写说成是隐藏了父类方法云云的。
下面我来挑战一下,如果不对请高手指正;如果对了希望对静态继承困惑的程序员有所帮助
1.类与对象的关系,先来张图压压惊
这里先来说明一下
· Sub、Father为Java类结构的底层实现,Sub继承Father通过super指针实现
· obj为Sub实例化的对象,其中fatherObj由Sub构造器底层实现,或构造器中调用super方法实现
2.方法的调用链
举个例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public
class
Father {
public
void
a_method {
System.out.println(
"我正在调用父类方法"
);
}
}
|