第一个源代码 public class Parent
{
public void test()
{
System.out.println ( "父类中的test方法" ) ;
}
}
class Son extends Parent
{
public void test()
{
System.out.println ( "子类中的test方法" ) ;
} public static void main ( String[] args )
{
Parent p=new Son();
p.test();
}
} 输出:子类中的test方法
第二种源代码 public class ParentTest
{ static void youzi ()
{
System.out.println ( "父类中的方法youzi" ) ;
}
}
class SonTest
extends ParentTest
{
static void youzi ()
{ System.out.println ( "子类中的方法youzi" ) ;
} public static void main ( String[] args )
{
ParentTest pt = new SonTest () ;
pt.youzi () ;
}
} 输出:父类中的方法youzi
为什么两次会出现不同的结果呢。不解中
{
public void test()
{
System.out.println ( "父类中的test方法" ) ;
}
}
class Son extends Parent
{
public void test()
{
System.out.println ( "子类中的test方法" ) ;
} public static void main ( String[] args )
{
Parent p=new Son();
p.test();
}
} 输出:子类中的test方法
第二种源代码 public class ParentTest
{ static void youzi ()
{
System.out.println ( "父类中的方法youzi" ) ;
}
}
class SonTest
extends ParentTest
{
static void youzi ()
{ System.out.println ( "子类中的方法youzi" ) ;
} public static void main ( String[] args )
{
ParentTest pt = new SonTest () ;
pt.youzi () ;
}
} 输出:父类中的方法youzi
为什么两次会出现不同的结果呢。不解中
解决方案 »
- 在线求教,怎么都编译不过去,头昏
- java 在函数中定义新类的格式
- 设置鼠标形状
- SQLXMLBulkLoad
- 怎样判断一组字符是不是连续的自然数
- ====这个问题 缠绕 了小弟两天了、、请高手给教教、、万分感谢 !!====
- 在线等待--关于<Form method="POST" ENCTYPE="multipart/form-data" action="">怎样传递表单中的每个文本框的内容
- 又是中文乱码问题,JAVABEAN+MYSQL,高分!!!
- 初学就被问题碰倒!
- 求教 InetAddress中isReachable()总是返回false
- 一个java程序有点问题
- eclipse-SDK-3.1.1-win32.zip 官方网站怎么找不到了,谁能给我一份
1.子类对象方法重写了.实际调用子类重写后的方法;(非static);
2.static方法因为创建了.static池所以调的还是原来的.
你可以看一下"单例模式",就是很好的应用.
private static 类型的变量和方法不能被重写!
绑定规则 :
1)实例方法与引用变量实际引用的对象的方法绑定,这种绑定属于动态绑定,在运行时,由java虚拟机动态决定的。
2)静态方法与引用变量所声明的类型的方法绑定,这种绑定属于静态绑定,在代码编译阶段就绑定了。
3)成员变量(包括类变量和实例变量)与引用变量所声明的成员变量绑定,这种绑定也属于静态绑定。这个java 虚拟机 动态绑定的规则清楚了,问题就解决拉。。