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

谁能让我理解一下构造方法?我现在把构造方法跟new怼上了,拜托拜托

谁能让我理解一下构造方法?我现在把构造方法跟new怼上了,拜托拜托

Canser3711598 2016-07-26 16:15:39
视频中老师讲了构造方法。利用new实例化class获取对象的变量名。然后老师在视频里在被实例化的类里敲了: void XXX(){System.out.println("无参的方法构造运行了");}这个无参的构造方法。   new就是构造方法吗?起初我创建了两个类  类 Aaa 类Bbb:在类Aaa里:public class Aaa{}    这样。然后在Bbb里:public class Bbb{    public static void main(String[] args){    Aaa aaa=new Aaa();    }}然后跑了一下 不报错。 void Aaa(){System.out.println("无参的方法构造运行了");}后来Aaa这样子。然后跑出  无参的方法构造运行了。是因为new 的时候构造方法就产生了嘛?只是看不到  是老师故意讲运行的过程给看?后来,构造有参方法。蒙了   现在new 和 构造方法分不清楚了。不过我知道两者肯定不是一体的。但是我理解不了了。。。。
查看完整描述

1 回答

已采纳
?
luofuxiang

TA贡献34条经验 获得超34个赞

new是一个关键字,是对构造方法的实例化时用到的一个关键字,声明一个普通类的对象时需要用到的关键字。每声明一个对象,需要执行一遍构造方法中的代码,也就是new关键字创建对象的时候会执行构造方法中的代码。

给个可能不太恰当的比喻,上帝创造了一个类,叫人类。

public class Human
{
}

每一个人是人类的一个对象,每个人在诞生的时候都会哭泣,这时在Human类中定义一个构造方法,构造方法的名称和类的名称必须相同

public class Human
{
    Human()
    {
        System.out.println("哭泣");
    }
}

某年某月某日,小明出生,小明出生后在做所有其它的事情之前,要哭泣。采用new关键字声明一个对象,叫xiaoming,在调用xiaoming的方法之前(如吃饭、睡觉,我们暂时没有定义),都必须先执行构造方法,即打印输出“哭泣”。

public class Bbb{
    public static void main(String[] args){
    Human xiaoming=new Human();//通过new关键字声明一个Human对象
    }
}

程序输出结果,:

"哭泣"


查看完整回答
1 反对 回复 2016-07-26
  • Canser3711598
    Canser3711598
    那么构造带参数的方法就是 为小明的哭泣带了属性 就是两声哇~哇~ 六滴泪。。 就是给小明出生时哭泣附了初始值?
  • Canser3711598
    Canser3711598
    谢谢您的解疑, 感谢
  • luofuxiang
    luofuxiang
    哈哈哈哈...可以这么理解,我们可以在构造方法中添加一个形参,就有了带参数的构造方法,类似于: public class Human { Human(int i)//表示流了 i 滴眼泪,默认为6滴 { System.out.println("哭泣,流了" + i + "滴眼泪"); } } 声明对象的时候需要把参数加上: public class Bbb{ public static void main(String[] args){ Human xiaoming=new Human(6);//通过new关键字声明一个Human对象 } } 输出: "哭泣,流了6滴眼泪"
  • 1 回答
  • 0 关注
  • 1288 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信