标题:关于重新定义构造函数的问题,新手请教
只看楼主
小布咻
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2015-5-18
结帖率:100%
 问题点数:0 回复次数:5 
关于重新定义构造函数的问题,新手请教
package package4;

public class Demo2 {


    public static void main(String[] args)
    {
        Person p1=new Person("张三",21,3500f);
        
        p1.print();   //这个是什么意思?输出?
        
    }

}

class Person
{
    String name;
    int age;
    float salary;


Person(String name,int age,float salary)

{       this.name=name;          //为什么用this?  他的用法是什么?
        this.age=age;
        this.salary=salary;

}
Person()    //这个在这里是什么意思?
{}
   
    public String toString()
    { return  "name:"+name+'\t'+"age:"+age+'\t'+"salary:"+'\t'+salary ;}

     String getName()
    { return name;}
   
    int getAge()
    {  return age;}

    float getSalary()
    { return salary;}
   
    void  print()
    { System.out.println(this.toString());}
}
搜索更多相关主题的帖子: package public 
2015-05-20 08:49
大脸猫Biu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-5-20
得分:0 
this.name=name;          //为什么用this?  他的用法是什么?
this代表着当前对象
Person()    //这个在这里是什么意思?
{}
这是定义了一个无参数构造方法

 p1.print();   //这个是什么意思?输出?
这是Person类对象p1调用Person类里面的print()方法
2015-05-20 10:28
小布咻
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2015-5-18
得分:0 
回复 2楼 大脸猫Biu
为什么要调用print方法?后面好像 没用到啊
2015-05-20 12:17
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
package package4;

public class Demo2 {


    public static void main(String[] args)
    {
        Person p1=new Person("张三",21,3500f);
        
        p1.print();   //这个是什么意思?输出?            //调用Person类的print()方法
        
    }

}

class Person
{
    String name;
    int age;
    float salary;


Person(String name,int age,float salary)

{       this.name=name;          //为什么用this?  他的用法是什么?      //因为这里的形参和属性名一样,this.XXX表示本类属性,如果不加形参就不能同名!
        this.age=age;
        this.salary=salary;

}
Person()    //这个在这里是什么意思?          //无参构造器,你上面定义了有参构造器那么如果删掉这句你的程序不会报错,但是不能有Person p=new Person()
{}                                              //加上这句就可以有了,他的使用当没有定义有参的就不用,定义了就要写出来!
   
    public String toString()
    { return  "name:"+name+'\t'+"age:"+age+'\t'+"salary:"+'\t'+salary ;}

     String getName()
    { return name;}
   
    int getAge()
    {  return age;}

    float getSalary()
    { return salary;}
   
    void  print()
    { System.out.println(this.toString());}
}

不知道解决了你的问题没有

剑栈风樯各苦辛,别时冰雪到时春
2015-05-20 12:28
小布咻
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2015-5-18
得分:0 
回复 4楼 林月儿
为什么调用print?后面好像没用到啊?
2015-05-20 18:53
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
回复 5楼 小布咻
void  print()
    { System.out.println(this.toString());}
这里定义了这个方法,功能是打印对象具体信息
当然你可以重写toString()方法

剑栈风樯各苦辛,别时冰雪到时春
2015-05-20 18:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445516-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016652 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved