黑马程序员技术交流社区
标题:
一个看似很简单的问题
[打印本页]
作者:
吕晓阳
时间:
2015-4-28 10:01
标题:
一个看似很简单的问题
void表示没有具体返回值,那么看下列程序
class Person
{
private String name;
Person(String name)
{
this.name = name;
}
pubic void getName()
{
return name;
}
}
复制代码
此程序中getName()方法,返回值类型是void,怎么能够返回name.
作者:
cyr
时间:
2015-4-28 10:23
你编译的时候就会报错啦,你都声明了方法是没有返回值的,但是代码里又要return。前后都矛盾了。
作者:
大西洋
时间:
2015-4-28 10:24
本帖最后由 大西洋 于 2015-4-28 10:28 编辑
这位兄台,public 您打错了。。。
void 方法是不需要返回值的,要用getName()方法可以直接传参;
class Person_new
{
private String name; // 封装String name,不被其他类访问
Person_new(String n)
{
// 这里 this 调用的是类的成员变量 private String name
this.name = n; // 把 n 赋值给 this.name,从而让外部参数传入进行运算
System.out.println("\r这是Person打印的name:"+name);
}
public void getName(String n) //void方法不需要返回值
{
this.name = n;
System.out.println("\r这是getName打印的name:"+name);
}
}
public class Person{
public static void main(String[] args){
String jn = "Jack";
String gn = "getJack";
new Person_new(jn).getName(gn);// 同时打印构造器的this.name 以及 getName()方法的 this.name
}
}
复制代码
作者:
只吃饭不洗碗
时间:
2015-4-28 14:00
public String getName( )
作者:
907888614
时间:
2015-4-28 15:02
报错,不需要return 直接打印
作者:
l_z
时间:
2015-4-28 15:36
:call:哎,这年头编程出错奇葩多啊
作者:
李海明
时间:
2015-4-28 18:35
肯定错的啊
作者:
bboyXiaoNuo
时间:
2015-4-28 21:13
不对啊这个好像是
作者:
IDhmpj
时间:
2015-4-28 21:26
编译不会通过,方法体中使用到了return时,如果 return 后面跟了变量,那么方法必须要申明返回类型。如果不跟任何变量,表示结束方法的运行。
作者:
2119391569
时间:
2015-4-28 21:33
楼上总结的相当靠谱!顶一下!
作者:
hejinze
时间:
2015-4-29 00:01
看看大神
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2