黑马程序员技术交流社区
标题:
对于静态方法的与类绑定,静态方法被复写的问题
[打印本页]
作者:
381890216
时间:
2015-9-21 17:27
标题:
对于静态方法的与类绑定,静态方法被复写的问题
本帖最后由 381890216 于 2015-9-22 18:05 编辑
一个类中的静态方法与对该类绑定,类加载该静态方法即加载以初始化类,
试着写了下面的程序:以子类的静态方法复写父类的静态方法,然后输出。。。
package PackageDemo1;
public class FatheTest {
public static void father(){
System.out.println("a");
}
}
class SonTest extends FatherTest{
public static void father(){
System.out.println("b");
}
}
public static void main(String[] args){
FatherTest a = new SonTest();
a.father();
FatherTest b = new FatherTest();
b.father();
SonTest.father();
FatherTest.father();
Class c = a.getClass();
Class d = b.getClass();
System.out.println(c);
System.out.println(d);
}
复制代码
编程结果为
a
a
b
a
class PackageDemo1.SonTest
class PackageDemo1.FatherTest
如果”静态方法与类绑定,与对象无关“的说法是正确的,绿字跟红字的结果是否相互矛盾了(因为我理解为c属于SonTest类,d属于FatherTest类)?我应该怎样理解才行?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2