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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 詹英鹏 黑马帝   /  2011-12-31 18:06  /  2605 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 詹英鹏 于 2012-1-2 11:26 编辑

可以这样定义一个int型数组int[] arr=new int[5];
然后初始化arr[1]=6;arr[2]=9......

比如一个
class Cat
     {
           String name;
          Cat(String name)
           {
                this.name=new name;
           }
     }
一个猫的类,可以不可以定义一个全是猫的数组,使用for语句要如何初始化啊
还有,数组元素还可以是什么呢,对象,函数?

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

4 个回复

正序浏览
代臣 黑马帝 2011-12-31 21:01:12
报纸
this.name = new name;
按照你的定义,上面这条语句应该是用来把Cat方法传递过来的name赋值给新建对象的,即赋值给新建对象在堆中的name,首先语句使用就有问题,有语法错误,应该改为this.name = name;
其次你所说的“数组元素还可以是什么呢,对象,函数?”,首先数组定义的是什么数据类型或者类的类型(类的内容是什么),就给元素赋什么样的值,自不用问,比如例子中如果arr[]这个数组的数据类型如果是Cat(猫)类型,那么元素肯定是猫这个对象。
  1. class Cat
  2. {
  3.         String name;
  4.         Cat(String name)//这个地方用到了构造函数
  5.         {
  6.                 //this.name = new name;
  7.                 /*按照你的定义,上面这条语句应该是用来把Cat方法传递过来的name赋值给新建对象的,
  8.                 即赋值给堆中的对象的name,首先语句使用就有问题,有语法错误,应该替换为
  9.                 下面这条语句*/
  10.                 this.name = name;
  11.                 show();//定义了一个show方法输出Cat对象的name
  12.         }
  13.         //show方法
  14.         public void show()
  15.         {
  16.                 System.out.println("name="+this.name);
  17.         }
  18. }

  19. class  ArrayDemo
  20. {
  21.         public static void main(String[] args)
  22.         {
  23.                 Cat C = new Cat("加菲猫");
  24.                 /*构造函数新建对象即初始化,即在建立对象之后就已经给对象初始化了,
  25.                 所以会输出name=加菲猫*/

  26.                 //定义猫的数组
  27.                 Cat[] C1 = new Cat[3];
  28.                 //上面是用for循环实现的,这里用下面的方法实现
  29.                 for (int i = 0; i < C1.length; i ++)
  30.                 {
  31.                         C1[2] = new Cat("波斯猫"+i);
  32.                 }
  33.         }
  34. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

回复 使用道具 举报
先说第二个问题 数组可以存放任何类型,你定义什么类型就存放什么类型 也就是说可以存放原生数据类型 和 引用数据类型

程序的话我觉得2楼的同学写的不错
回复 使用道具 举报
使用for循环初始化
int[] Arr = new int[5];
for(int i=0; i<intArr.length; i++){
    Arr[i] = i ;
}
“还有,数组元素还可以是什么呢,对象,函数?”数组元素好像只能是字符、数字、地址值等确定的值,你这一问我也不太清楚了。
回复 使用道具 举报
杨旭 黑马帝 2011-12-31 18:33:18
沙发
  1. class Cat{
  2.         String name;
  3.         Cat(String name){
  4.                 this.name = name ;
  5.         }
  6. }
  7. public class Demo{
  8.         public static void main(String[] args) {
  9.                 Cat[] cats = new Cat[10];
  10.                 for (int i = 0; i < cats.length; i++) {
  11.                         cats[i] = new Cat("Maomao"+i);
  12.                 }
  13.                 for (Cat cat : cats) {
  14.                         System.out.println(cat.name);
  15.                 }
  16.         }
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

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