书上2段很简单的程序,但我编译老是出错,为什么?
第一个程序:public class SimpleClass{
private int a;
public int getAttribute(){
return a;
}
public void setAttribute(int x){
a=x;
}
}
第二个程序:public class UseSimpleClass{
public static void main(){
SimpleClass object1 = new SimpleClass();
object1.setAttribute(9);
prt( object1.getAttribute(9) );
prt();
}
static void prt(String s){
System.out.println(s);
}
}
到底应该怎么改啊,哪位高手来改下啊。。。我刚学,不怎么会。。。
[ 本帖最后由 pedestrian1 于 2011-4-6 07:11 编辑 ]
----------------解决方案--------------------------------------------------------
第一个没有main()函数
第二个根本就没这个SimpleClass类而且你没有导入类
----------------解决方案--------------------------------------------------------
//第一个程序:
public class SimpleClass{
private int a;
public SimpleClass() //定义一个构造函数为好
{
a=0;
}
public int getAttribute(){
return a;
}
public void setAttribute(int x){
a=x;
}
}
//第二个程序:
public class UseSimpleClass{
public static void main(){
SimpleClass object1 = new SimpleClass();
object1.setAttribute(9);
prt( object1.getAttribute() ); //这个应该转化为string类型,我不会,你改吧
prt(); //这个没有string参数,你改吧
}
static void prt(String s){
System.out.println(s);
}
}
----------------解决方案--------------------------------------------------------
第一个程序:
class SimpleClass{
public int a;
public void setAttribute(int x){
this.a=x;
}
public static void main(agr[] String)
SimpleClass s=new SimpleClass();
s.setAttribute(3);
System.out.println(a);
}
第二个程序: class UseSimpleClass{
//那样写是不对的, 我们首先添加 方法和字段;例如
private int a;
static setAttribute(int s)//一个静态方法
{
//用this 指示变量
this.a=s;System.out.println(s);
}
public static void main(agr[] String){
UseSimpleClass object1 = new UseSimpleClass();
object1.setAttribute(9);
}
}
这样就好了,说明因为main是静态方法所以可以调用也可以用类名直接调用不用进行实例化
static void prt(String s)
{System.out.println(s);}
}
你的这段代首先传递的参数类型不一致,9是int型你那是string类型不能接受
----------------解决方案--------------------------------------------------------
答案已删除.
[ 本帖最后由 pedestrian1 于 2011-4-6 07:10 编辑 ]
----------------解决方案--------------------------------------------------------
回复 4楼 tomjava
。。你还用了this。。。我才刚学2节课,太深了。。。不过谢谢你肯帮我改程序。 ----------------解决方案--------------------------------------------------------
这2个程序貌似必须要有关联,这样单写是肯定不对的 你要把第一个程序封装在一个包中,然后你再第二个程序中引入该包中的类 具体的书上有
----------------解决方案--------------------------------------------------------