Java 开发 - Java 继承后成员的隐藏与重写
·
Java 继承后成员的隐藏与重写
1、子类没有定义成员
- BaseCommonStore.java
public class BaseCommonStore {
public static final String TAG = "TAG:" + BaseCommonStore.class.getSimpleName();
public static void sayHello() {
System.out.println(TAG + " sayHello");
}
public String tag = "tag:" + BaseCommonStore.class.getSimpleName();
public void sayOk() {
System.out.println(tag + " sayOk");
}
}
- CommonStore.java
public class CommonStore extends BaseCommonStore {
}
- test
System.out.println(CommonStore.TAG);
CommonStore.sayHello();
CommonStore commonStore = new CommonStore();
System.out.println(commonStore.tag);
commonStore.sayOk();
# 输出结果
TAG:BaseCommonStore
TAG:BaseCommonStore sayHello
tag:BaseCommonStore
tag:BaseCommonStore sayOk
2、子类定义同名成员
- BaseCommonStore.java
public class BaseCommonStore {
public static final String TAG = "TAG:" + BaseCommonStore.class.getSimpleName();
public static void sayHello() {
System.out.println(TAG + " sayHello");
}
public String tag = "tag:" + BaseCommonStore.class.getSimpleName();
public void sayOk() {
System.out.println(tag + " sayOk");
}
}
- CommonStore.java
public class CommonStore extends BaseCommonStore {
public static final String TAG = "TAG:" + CommonStore.class.getSimpleName();
public static void sayHello() {
System.out.println(TAG + " sayHello");
}
public String tag = "tag:" + CommonStore.class.getSimpleName();
public void sayOk() {
System.out.println(tag + " sayOk");
}
}
- test
System.out.println(CommonStore.TAG);
CommonStore.sayHello();
CommonStore commonStore = new CommonStore();
System.out.println(commonStore.tag);
commonStore.sayOk();
# 输出结果
TAG:CommonStore
TAG:CommonStore sayHello
tag:CommonStore
tag:CommonStore sayOk
小结
| 成员 | 示例 1 | 示例 2 |
|---|---|---|
| 静态变量 | 继承父类 | 隐藏父类 |
| 静态方法 | 继承父类 | 隐藏父类 |
| 实例变量 | 继承父类 | 隐藏父类 |
| 实例方法 | 继承父类 | 重写父类 |
更多推荐



所有评论(0)