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

来源:8-6 Java 中的构造方法

久点

2017-05-10 16:03

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回答

  • muhlenXi
    2017-05-10 16:27:23
    已采纳

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

    久点

    非常感谢!

    2017-05-10 18:56:01

    共 1 条回复 >

  • 谜之米
    2017-05-10 17:24:27

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

  • qq_人在征途_1
    2017-05-10 16:27:16

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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530641 学习 · 6091 问题

查看课程

相似问题