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

一个我没看明白运行顺序的程序

一下是类里面的内容http://img1.sycdn.imooc.com//580b566900018a7112200653.jpg

package coom.imooc;

public class Employee {

 private String name;

 private int salary;

 public Employee(String n,int s){

name=n;

salary=s;

 }

 public Employee(String n){

this(n,0);

 }

 public Employee(){

this("Unknow");

 }

 public String getName(){

return name;

 }

 public int getSalary(){

return salary;

 }

}

附带的图片是main函数,可是我不怎清楚程序运行的顺序

正在回答

3 回答

这属于"在构造函数中,通过this可以调用同一类中别的构造函数。"

例:

public class ThisTest {

    private int age;

    private String str;

 

    ThisTest(String str) {

       this.str=str;

       System.out.println(str);

    }

    ThisTest(String str,int age) {

       this(str);

       this.age=age;

       System.out.println(age);

    }

 

    public static void main(String[] args) {

       ThisTest thistest = new ThisTest("this测试成功",25);

      

    }

}

        结果为:this测试成功

                     25

this(str)调用了上一个构造方法。

ThisTest(String str) {

       this.str=str;

       System.out.println(str);

    }


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

驴鼾酱子3922751 提问者

那我的程序中的主程序是不是在Employee e=new Employee();处调用类中的public Employee(){ this("Unknow");原因是不是Employee e=new Employee()中Employee()为无参的对象,所以在进行方法重载的时候,系统根据括号里面的参数来选择类中的方法啊
2016-10-23 回复 有任何疑惑可以回复我~
#2

GreatDan 回复 驴鼾酱子3922751 提问者

可以这么理解吧。你百度一下this在java中的用法就知道了。
2016-10-23 回复 有任何疑惑可以回复我~

想彻底的了解每个执行步骤,debug是最好的老师

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

三种构造方法,参数数目不一样而已,只执行this("Unkown")的那个。

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

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530628    人
  • 解答问题       6091    个

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

进入课程

一个我没看明白运行顺序的程序

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