A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吕晓阳 中级黑马   /  2015-4-28 10:01  /  567 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

void表示没有具体返回值,那么看下列程序
  1. class Person
  2. {
  3.         private String name;
  4.         Person(String name)
  5.         {
  6.                 this.name = name;
  7.         }
  8.         pubic void getName()
  9.         {
  10.                 return name;
  11.         }
  12. }
复制代码
此程序中getName()方法,返回值类型是void,怎么能够返回name.

10 个回复

倒序浏览
你编译的时候就会报错啦,你都声明了方法是没有返回值的,但是代码里又要return。前后都矛盾了。
回复 使用道具 举报
本帖最后由 大西洋 于 2015-4-28 10:28 编辑

这位兄台,public 您打错了。。。
void 方法是不需要返回值的,要用getName()方法可以直接传参;
  1. class Person_new
  2. {
  3.     private String name;        // 封装String name,不被其他类访问
  4.    
  5.     Person_new(String n)
  6.     {
  7.             // 这里 this 调用的是类的成员变量  private String name
  8.         this.name = n;                // 把 n 赋值给 this.name,从而让外部参数传入进行运算
  9.         System.out.println("\r这是Person打印的name:"+name);
  10.     }
  11.     public void getName(String n)        //void方法不需要返回值
  12.     {
  13.             this.name = n;
  14.             System.out.println("\r这是getName打印的name:"+name);
  15.     }
  16. }

  17. public class Person{
  18.         public static void main(String[] args){
  19.                 String jn = "Jack";
  20.                 String gn = "getJack";
  21.                 new Person_new(jn).getName(gn);// 同时打印构造器的this.name 以及 getName()方法的 this.name
  22.         }
  23. }
复制代码



回复 使用道具 举报
public String getName( )
回复 使用道具 举报
报错,不需要return 直接打印
回复 使用道具 举报
:call:哎,这年头编程出错奇葩多啊
回复 使用道具 举报
肯定错的啊
回复 使用道具 举报
不对啊这个好像是
回复 使用道具 举报
IDhmpj 中级黑马 2015-4-28 21:26:49
9#
编译不会通过,方法体中使用到了return时,如果 return 后面跟了变量,那么方法必须要申明返回类型。如果不跟任何变量,表示结束方法的运行。
回复 使用道具 举报
楼上总结的相当靠谱!顶一下!
回复 使用道具 举报
看看大神
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马