为了账号安全,请及时绑定邮箱和手机立即绑定

构造方法与相同名称的类和方法的关系

package first;
public class demo5qidong {
public static void main(String[] args) {
// TODO Auto-generated method stub
demo5 asd=new demo5();
asd.asd();
}
}

在上面代码执行后,会显示a和b。

package first;
public class demo5 {
public demo5(){
System.out.println("a");
}
void asd(){
System.out.println("b");
}
}

我想知道第二段代码中外面的demo5类与它内部的demo方法的问题,我创建了demo5对象,不是由外面的demo5类得来的吗?为什么会显示a?和内部的demo5有什么关系?

正在回答

3 回答

因为 public demo5() 这个是 demo5 类的构造方法,每当你 new 一个 demo5 对象时,就会调用对象的构造方法来创建并初始化一个对象。new demo5(),调用的就是构造方法。

1 回复 有任何疑惑可以回复我~
#1

久点 提问者

非常感谢!
2017-05-10 回复 有任何疑惑可以回复我~

第二段代码中 内部的demo5为demo5类的构造方法,当你new demo5的对象时首先会调用构造方法(如果不声明构造方法。那么构造函数还是会有。默认为不参构造方法)。当你第一段代码new了demo5对象就执行了demo5构造方法然后又执行了asd()方法

0 回复 有任何疑惑可以回复我~

创建demo5对象时,对对象进行实例化,会先调用类的构造方法对它进行实例化,所以会打印出来a,然后再调用asd方法,会打印b.

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

构造方法与相同名称的类和方法的关系

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信