请问怎么在Text中同时调用两个构造方法,不用this的情况下

请问怎么在Text中同时调用两个构造方法,不用this的情况下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class Monkey {
    //属性:姓名(name)、特征(feature)
    String name,feature;
 
    //无参的构造方法(默认初始化name和feature的属性值,属性值参考效果图)
    public Monkey(){
        name="长尾猴";
        feature="尾巴长";
        System.out.println("无参构造产生的猴子:");
        System.out.println(name);
        System.out.println(feature);
     
    }
     
 
    //带参的构造方法(接收外部传入的参数,分别向 name 和 feature 赋值)
    public Monkey(String name ,String feature){
        this();
         System.out.println("====================");
        System.out.println("我是使用带参构造产生的猴子:");
        this.name=name;
        this.feature=feature;
        System.out.println("名称:"+name);
        System.out.println("特征"+feature);
    }
 
}
public class Test {
 
    public static void main(String[] args) {
         
      //调用无参构造方法实例对象
      Monkey m=new Monkey("白头叶猴","头上有白毛,喜欢吃树叶");
      //打印输出对象属性
       
      //调用带参构造方法实例对象
      //打印输出对象属性
 
    }
 
}

这是我用this的情况下

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
  • 提问者 淡淡淡定o #1
    谢谢咯,加油
    2019-08-13 21:11:07
提问者 淡淡淡定o 2019-04-14 22:34:54
1
2
3
4
5
public static void main(String[] args) {
        // 对象示例化
        Cat one=new Cat();
        one=new Cat("花花",2,5,"橘猫");
//      Cat two=new Cat();

又试了一下,发现这样也许,不过有个问题就是此时的one跟上一个one在内存的地址不同了?

  • 提问者 淡淡淡定o #1
    打错字了,是也可以,不是也许
    2019-04-14 22:35:29
  • irista23 回复 提问者 淡淡淡定o #2
    是的,one指向了不同的对象,所以内存地址不一样了。你也可以通过System.out.print(one);分别输出两次one的地址来查看
    2019-04-15 09:59:48
提问者 淡淡淡定o 2019-04-14 22:25:01

刚才试了一下,是要创建两个对象

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码