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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈圳 高级黑马   /  2013-2-23 10:05  /  1336 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈圳 于 2013-2-23 13:25 编辑

今天自己写了一个函数,然后试了下函数的返回值能不能为数组
代码如下:
public int[] getNum(int year)
        {
                int arr[]={1,2,3,4};
                return arr;
        }
public static void main(String[] args)
        {
                Demo d=new Demo();
                int[] arr=d.getNum(1997);
                for(int i=0;i<arr.length;i++)
                        System.out.println(arr);
}
编译通过.函数返回的是一个数组的首地址值.那是不是所有类型的都能被当作函数返回值?比如类对象数组.这个函数返回值有什么具体要求?

评分

参与人数 1技术分 +1 收起 理由
李培根 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
返回值可以是任意数据类型的,你要是闲的慌可以挨个的试试!呵呵!

回复 使用道具 举报
本帖最后由 黑马刘杰 于 2013-2-23 10:17 编辑

函数的返回值有两种,一种是基本数据类型的,它返回这个数值本身。
另一种是对象类型的,它返回的是对象的引用,也就是对象在对内存中的内存地址。
数组是对象,类对象数组也是对象,它会返回这个类对象数组的首地址,这个函数返回值的定义就是对象数组,例如:
  1. public static Integer[] foo(){
  2.                 Integer[] arr={new Integer(1),new Integer(2)};
  3.                 return arr;
  4.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
李培根 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马