首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

有关类与对象的有关问题求解

2013-09-28 
有关类与对象的问题求解Class A{public static void part(){System.out.println(1)}public A() {System

有关类与对象的问题求解
Class A{
    public static void part(){
    System.out.println("1");
}

public A() { 
    System.out.println("A");
}

public class B extends A {
    public static void part(){
    System.out.println("2");
}
public B() { 
    System.out.println("B");
}
public static void main(String[] args) {
A a = new B();
a = new A();
}
输出为:A,B,A 求解答:为什么会输出三个结果?
[解决办法]
子类继承父类,当new子类时必先执行父类的构造函数再执行子类的
A a = new B();//A,B
a = new A();//A
[解决办法]
A a = new B();  这次new了B,但B是extend A,此时初始化,会先去调查A的构造(先得有父亲才会有儿子)
接着调用B的构造,就构造完成。
a = new A(); 这就相当于重新NEW ,只不过只时直接指向A,所以再调用A的构造 
http://www.kxikx.com/index.jsp

热点排行