本帖最后由 yuan 于 2012-5-23 00:53 编辑
//楼主你好,我先给你举个最最经典的子父之间的例子,你懂的
class Fu
{
int num = 10;
void show()
{
System.out.println("Fu show");
}
static void method()
{
System.out.println("Fu static method");
}
}
class Zi extends Fu
{
int num = 20;
void show()
{
System.out.println("Zi show");
}
static void method()
{
System.out.println("Zi static method");
}
}
class DuoTaiDemo3
{
public static void main(String[] args)
{
Fu f = new Zi();
//用父类对象调用成员变量
System.out.println(f.num);
//用父类对象调用非静态方法
f.show();
//用父类对象调用静态方法
f.method();
}
}
/*
Fu f = new zi();
左边 右边
总结:1.成员变量
编译:看左边的引用类型中是否有此成员变量
运行:也是看左边的变量的值
简而言之:编译和运行都看左边。
2.非静态方法
编译:看左边引用型中是否有此方法
运行:看右边是否重写过此方法。如果没有,执行左边,如果有,执行右边。
简而言之:编译看左边,运行看右边。
3. 静态方法
编译:看左边引用型中是否有此方法
运行:看左边引用型中是否有此方法
简而言之:编译和运行都看左边。
*/
备注: 我调用了的老师上课讲的话,顺便也指向毕老师的一段话,如果你这再不哦,我也没办法让你哦了。{:soso_e100:}
如果管理访问了,麻烦让我实现一下接口,把我的用户名set为袁梦希,,我会继承黑马的传统美德。
最后 : 不开玩笑了,希望我的回答能够帮助楼主解决问题。
|