public class Test2 {
public static void main(String[] args) {
ch c=new ch();
c.m6();
c.m7();
c.m8();
}
static class fa{
final void m6(){
System.out.println("father's m6");
}
static void m7(){
System.out.println("father's m7");
}
void m8(){
System.out.println("father's m8");
}
}
static class ch extends fa{ }
}
运行结果:
father's m6
father's m7
child's m8通过反编译可以看到编译期间就绑定了父类的方法,个人认为,这仅仅是java中的c.m6(),c.m7(),c.m8()反编译后呈现的效果,并不是由于child中存在m6,m7,m8。子类中并不存在从父类中继承来的方法和变量,继承仅仅使父类的方法和变量对子类可见,从而使子类可以直接调用没有在子类中定义过的方法和变量。
public static void main(String[] args) {
ch c=new ch();
c.m6();
c.m7();
c.m8();
}
static class fa{
final void m6(){
System.out.println("father's m6");
}
static void m7(){
System.out.println("father's m7");
}
void m8(){
System.out.println("father's m8");
}
}
static class ch extends fa{ }
}
运行结果:
father's m6
father's m7
child's m8通过反编译可以看到编译期间就绑定了父类的方法,个人认为,这仅仅是java中的c.m6(),c.m7(),c.m8()反编译后呈现的效果,并不是由于child中存在m6,m7,m8。子类中并不存在从父类中继承来的方法和变量,继承仅仅使父类的方法和变量对子类可见,从而使子类可以直接调用没有在子类中定义过的方法和变量。
解决方案 »
- 缺少返回 语句,
- java读csv的问题
- 就是想不通,求助啊!!谢谢
- 请问oracle中的除法运算为什么除错?
- 哪个Map最适合用来实现LRU Cache?
- 一个小程序,不能理解其输出结果
- 有什么样的java反编译工具可以对整个包直接反编译并生成包结构java文件?
- 有看过《java core》那本书的朋友进来帮我一下,小弟先谢过了。
- linux server + mysql + jdk_linux真正适合中国人的开发方案
- 请问怎样在程序中的一个位置做一个延时功能呀?
- 与socket = serverSocket.accept();同一个class下引用其他gui类总是显示白屏
- Java String数组赋值的问题,希望有人为我解惑
Modifier Class Package Subclass World
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N
官方教程 http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html