黑马程序员技术交流社区
标题:
关于对象的问题
[打印本页]
作者:
郑强强
时间:
2012-4-8 17:23
标题:
关于对象的问题
class ArrayTool
{
public void selectSort(int [] arr)
{
for (int x=0;x<arr.length;x++ )
{
for (int y=x; y<arr.length;y++ )
{
if(arr[x]>arr[y])
swap(arr,x,y);
for (int x=0;x<arr.length ; x++)
{
System.out.print("arr="+arr[x]);
}
}
}
}
public void swap(int[] arr,int x,int y)
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
public static void main(String[] args)
{
int[] arr={3,4,2};
ArrayTool at=new ArrayTool();
ArrayTool.selectSort();
}
类中可不可只定义功能函数而不定义属性呢?为什么这样运行会出现错误呢?求详解
作者:
黑马老兵
时间:
2012-4-8 17:31
你这个程序有问题啊ArrayTool.selectSort();你是创建了一个对象出来但调用函数不是这么调用的。你定义的那个函数是带参的所以你调用的时候必须带参数,没有参数你的方法就不知道怎么执行了。
作者:
曾晓文
时间:
2012-4-8 17:37
本帖最后由 曾晓文 于 2012-4-8 17:45 编辑
类中可不可只定义功能函数而不定义属性呢?
当然可以啦。报了什么错,应该是静态方法调用非静态方法而报错。在一个类内静态方法不能调用非静态方法(因为虚拟机加载类是虚拟机先加载静态成员,完了再加载非静态成员。),所以在main方法调用ArrayTool.selectSort();会报错。
你的代码还要2个地方有问题,selectSort里定义类2次x,并且ArrayTool.selectSort();是没有参数,与定义的selectSort方法不批配
作者:
莫运飞
时间:
2012-4-8 18:02
class ArrayTool
{
public void selectSort(int[] arr)
{
for (int x=0;x<arr.length;x++ )
{
for (int y=x; y<arr.length;y++ )
{
if(arr[x]>arr[y])
swap(arr,x,y);
for (int
a
=0;
a
<arr.length ;
a
++)
{
System.out.print("arr="+arr[
a
]);
}
}
}
}
public void swap(int[] arr,int x,int y)
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
public static void main(String[] args)
{
int[] arr={3,4,2};
ArrayTool at=new ArrayTool();
at
.selectSort(
arr
);
}
}
我改动后的地方都用红色标识出来了,这些问题最好是自己去处理,做技术的没有问题就没有进步,问题越多进步越快。
作者:
wang耀雨
时间:
2012-4-8 19:55
类中当用不到属性的时候当然可以不用定义,在类中定义属性则都是该类对象的属性,出现错误是你这里的语法错误 ArrayTool.selectSort();调用函数,应该用“对象名.函数名”来调用,而不能使用类名调用,类名只能调用静态函数
作者:
彭威
时间:
2012-4-8 20:16
是可以的。
错误:1,静态方法调用非静态方法报错。在类内静态方法不能调用非静态方法,而你在main方法
调用ArrayTool.selectSort()报错,原因你main是静态的 而selectSor和swap都是非静态的,静态是不能调用非静态的;
2嵌入的第三个for拿出来进行遍历,在里面的话相当于循环了3次,3次中符合的值相乘的个数
3 ArrayTool.selectSort(); 调用类方法时对应的arr加上
作者:
刘保峰
时间:
2012-4-9 08:47
楼上说的很好:毕老师的视频也是这么说的
类中当用不到属性的时候当然可以不用定义,在类中定义属性则都是该类对象的属性,出现错误是你这里的语法错误 ArrayTool.selectSort();调用函数,应该用“对象名.函数名”来调用,而不能使用类名调用,类名只能调用静态函数
作者:
pray
时间:
2014-4-26 06:07
我在顶贴~!~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2