java关于类

来源:百度知道 编辑:UC知道 时间:2024/06/10 23:58:40
class Number
{
int i;
}
public class PassObject
{
public static void main(String[]args)
{
Number n=new Number();
n.i=0;
int x=10;
System.out.println("调用方法前 n.i="+n.i+"\tx="+x);
f(n,x);
System.out.println("调用方法后 n.i="+n.i+"\tx="+x);
}
static void f(Number sum,int y)
{

while(y>0)
{
sum.i+=y;
y--;
}
System.out.println("退出方法时 sum.i="+sum.i+"\ty="+y);
}
}
这个程序可以正常运行,倒是Eclipse提示第一行class Number这里红叉叉
说以定义类型Number?

我用MyEclipse编译运行没有问题,你说的问题应该是这样,JAVA语言不允许标识符和关键字重名,你那个类名用了Number,而Number属于关键字,所以会提示错误,你把类名换了再试试。

我的没有这个提示

是因为你在下面有一个Number n = new Number();这里n的类型是Number,所以才会提示你错误

Number是一个关键字,Java中不允许关键字做类名,你把Number改成非关键字就可以运行了。