本帖最后由 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类)?我应该怎样理解才行?
|
|