首页 新闻 搜索 专区 学院

博友们好,关于java中return是否可以这样理解

0
悬赏园豆:20 [待解决问题]

首先这是源代码:

 1 class Employee
 2 {
 3     //定义一个静态方法
 4     private static int nextId=1;
 5     
 6     private String name;
 7     private double salary;
 8     private int id;
 9     
10     public Employee(String n,double s,int i)
11     {
12         name=n;
13         salary=s;
14         id=i;
15         
16     }
17     public Employee(String string, int i) {
18         // TODO 自动生成的构造函数存根
19     }
20     public String getName()
21     {
22         return name;
23     }
24     public double getSalary() {
25         return salary;
26     }
27     public int getId()
28     {
29         return id;
30     }
31     public void setId()
32     {
33         id=nextId;
34         nextId++;
35     }
36     public static void main(String[] args)
37     {
38         Employee e=new Employee("Harry harcker",80000);
39         System.out.print(e.getName()+" "+e.getSalary());
40         
41     }

我是这样理解的:首先,因为return是返回方法的调用者,在System.out.print(e.getName()+" "e.getSalary());中,getName()是一个返回name的方法,此时,该方法的调用者是对象e,因为该对象被初始化了,里头有实际参数:“Harry karcker”,在

return的作用下,进行参数类型匹配,并在System类的作用在屏幕上输出对象e中的实参“Harry harcker”,这样理解是否正确

资深呆的主页 资深呆 | 初学一级 | 园豆:37
提问于:2015-11-04 10:27
< >
分享
所有回答(5)
0

你确定你这个函数能够打印出salary的值吗?

public Employee(String string, int i) { }这个构造函数并没有为属性数值呀,如何取出?

苏幕遮soft | 园豆:401 (菜鸟二级) | 2015-11-04 10:40
0

return是返回方法所计算后的值,如getName返回string类型  数据是name

再一个e是Employee的一个实例,不是调用者.  这个调用者在你这个代码是main函数

谁调用谁就是调用者

jio92 | 园豆:1064 (小虾三级) | 2015-11-04 10:47
0

基础太差.这个跟JAVA都没关系.是因为没有 "表达式"这个概念,买本入门教科书从头看到尾.不然还会有跟多这种不知所谓的问题.

吴瑞祥 | 园豆:28891 (高人七级) | 2015-11-04 11:00
0

..首先. 你实例化对象的时候传了两个参数.

 Employee e=new Employee("Harry harcker",80000);

对应的构造函数是下面这个

 public Employee(String string, int i) {
      // TODO 自动生成的构造函数存根
 }

因为你没有做任何操作.

所以name 和 salary 的值是空的. 所以你返回的值也是空的. 所以你打印不出任何值.

然后e.getName() 和 e.getSalary() 是这样的.  

e 是Employee类的实例.  实例里 e 里面有 name的值, salary的值. 有getName(), getSalary()方法等等。

然后getName()方法体里是return name.  

所以e.getName() 返回的就是 实例e的name值. 

李丶GuanYao | 园豆:1228 (小虾三级) | 2015-11-04 15:52
0

如果你在public Employee(String string, int i) { // TODO 自动生成的构造函数存根 }构造方法中进行初始化成员或者通过setxx的方法进行赋值的话,可以通过getxxx获取return返回的值。return就是将内容返回给调用者,谁调用它谁就可以取到它的值。

猿哥爱码 | 园豆:258 (菜鸟二级) | 2015-11-05 21:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册