您的位置:首页 > 职场人生

黑马程序员——区分构造方法与普通方法的区别

2013-07-29 13:16 316 查看
---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

程序一:

public class Child extends Parent

{

public Child()

{

System.out.println("child");

}

public static void main(String[] args)

{

Child child = new Child(); 为对象开辟内存空间(疑问一:是否也同时生成了父类的内存空间)调用类的构造方法 将生成的对象的地址返回 此处没有调用Child.Child()

}

}

class Parent

{

public Parent(int i)

{

System.out.println("parent");

}

}

运行结果:parent

child

package com.saodai;

publicclass HelloWord

{

publicstaticvoid main(String[] args)

{

new Child();[Child child = new Child();The value of the local variable child
is not used]

}

}

class Parent

{

public Parent()

{

System.out.println("parent ");

}

}

class Childextends Parent

{

public Child()

{

System.out.println("child");

}

}

程序二:

public class PolyTest

{

public static void main(String[] args)

{

Child child = new Child(); 疑问2
new出来一个 不就已经调用了类得构造方法 为什么还要调用child.sing()


child.sing(); 没有此行什么也不打印 为什么,额??

}

}

class Parent

{

public void sing()

{

System.out.println("parent is singing");

}

}

class Child extends Parent

{

public void sing()

{

System.out.println("child is singing");

}

}

运行结果是:child is singing 运行结果为什么不是parent
is singing child is singing

package com.saodai;

publicclass HelloWord

{

publicstaticvoid
main(String[] args)

{

new Child();

}

}

class Parent

{

public Parent()

{

System.out.println("parent is singing");

}

}

class Childextends Parent

{

public Child()

{

System.out.println("child is singing");

}

}

运行结果:parent is singing

child is singing

对比体味构造方法与普通方法的区别!

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐