帮我分析下这道java程序

来源:百度知道 编辑:UC知道 时间:2024/05/22 10:59:38
public class AbsValue //声明类absValue
{
int x; //声明成员变量x,y
public AbsValue(int a) //声明构造函数
{
x=a;
}
public void getabsValue() //声明方法getabsValue()
{
int y;
if(x>=0)
y=x;
else
y=-x;
System.out.println(x+"的绝对值是:"+y);
}
}
class GetAbsV
{
public static void main(String args[])
{
AbsValue x1=new AbsValue(12); //生成对象x1
x1.getabsValue(); //引用方法
AbsValue x2=new AbsValue(-8); //生成对象x3
x2.getabsValue();
}
}

各位java高手,在分析这道程序时,大家应该看到class GetAbsV,在这里我想问,在什么情况下就要这样,有多个类出现.有时候我看到一些简单的程序题,只有一个类.到底应该怎样区分呢?也就是说在什么情况下就有多个类出现.另外在编译这道程序时.我要这样编译才能正确:javac AbsValue.java
java GetAbsV(在这里为什么要编这个,编上面的AbsValue为什么不对啊).谢各位帮忙啦.
那我去掉class GetAbsV后,不是在类AbsValue 中实现main方法的方法了吗?为什么我编译还是错啊.

AbsValue中没有main方法,

去了class GetAbsV后没错啊我编译成功了:(也要把class GetAbsV前面的"}"去掉

public class AbsValue //声明类absValue
{
int x; //声明成员变量x,y
public AbsValue(int a) //声明构造函数
{
x=a;
}
public void getabsValue() //声明方法getabsValue()
{
int y;
if(x>=0)
y=x;
else
y=-x;
System.out.println(x+"的绝对值是:"+y);
}
public static void main(String args[])
{
AbsValue x1=new AbsValue(12); //生成对象x1
x1.getabsValue(); //引用方法
AbsValue x2=new AbsValue(-8); //生成对象x3
x2.getabsValue();
}
}

java是虚拟机,我们要执行的是class
javac把 *.java编译成 *.class
java 执行含有main()方法的class
至于为什么要分类,类就像旅馆的房间,不是志同道合的人当然要去不同的房间咯~

多个类出现时,进行编译的类是声明为public的类,而运行时,只有含有main方法的类才能运行,所以,必须按照那样编译。
如果楼主想要java AbsValue,就要在类AbsValue 中实现main方法,不妨试试看