日期:2014-05-20 浏览次数:21003 次
package com.simple.second;
class First{
    public First(){
        aMethod();
    }    
    public void aMethod(){
        System.out.println("First");
    }
}
public class Second extends First{
    public  void aMethod(){
        System.out.println("second");
    }
    public static void main(String args[]){
        new Second();
    }
}
package com.simple.second;
class First{
    public First(){
        aMethod();
    }    
    public static void aMethod(){
        System.out.println("First");
    }
}
public class Second extends First{
    public static void aMethod(){
        System.out.println("second");
    }
    public static void main(String args[]){
        new Second();
    }
}
class First{
    public First(){
        aMethod();
    }    
    public static void aMethod(){
        System.out.println("First");
    }
}
public class Second extends First{
    public Second(){
        aMethod();
    }    
    public static void aMethod(){
        System.out.println("second");
    }
    public static void main(String args[]){
        new Second();
    }
}
------解决方案--------------------
mark
------解决方案--------------------
1、首先类加载器加载.class文件。 2、然后完成static初始化,如果有。 3、为对象分配内存空间 4、将分配的内存空间清零 5、初始化类字段(数据成员)。按照定义的顺序依次初始化 6、调用构造器的方法 开始---> 父类的静态代码---> 子类的静态代码--> 父类的非静态代码---> 父类构造函数---> 子类非静态代码---> 子类构造函数--->完成
------解决方案--------------------
//静态方法,至与类名相互联系,跟哪个对象无关,不存在继承这个概念
class First{
    public First(){
        aMethod();
    }//这是父类的构造方法,调用了父类的静态方法    
    public static void aMethod(){
        System.out.println("First");
    }
}
public class Second extends First{
   
    public static void aMethod(){
        System.out.println("second");
    }//这是子类静态方法,没有被任何方法调用
    
  
    public static void main(String args[]){
        new Second();
    }
}
class First{
    public First(){
        aMethod();
    }    
    public void aMethod(){
        System.out.println("First");
    }
}
public class Second extends First{
    public  void aMethod(){
        System.out.println("second");
    }//并非是静态方法,发生了重写
    
    public static void main(String args[]){
        new Second();
    }
}
------解决方案--------------------
//静态方法,至与类名相互联系,跟哪个对象无关,不存在继承这个概念
class First{
    public First(){
        aMethod();
    }    
    public static void aMethod(){
        System.out.println("First");
    }
}
public class Second extends First{
    //在这个地方你使用子类构造方法调用子类的静态方法,也同样会输出信息
     public Second() {
     aMethod();
     }
    public static void aMethod(){
        System.out.println("second");
    }  
    public static void main(String args[]){
        new Second();
    }
}