下面的题目编译成功 但答案不是我想要的?
class person
{public String name;static int ID=0;
{
public String getName()
{ return name;}public void setID()
{return ID;}public class people
{public static void main(String args[]){
person p1=new person("王强");
person.ID++;
System.out.println(p1.getName()+p1.ID);
person p2=new person("李明");
person.setID();
System.out.println(p2.getName()+person.ID)
}
}
答案怎么会是 NULL1
NULL2
字符串
class person
{public String name;static int ID=0;
{
public String getName()
{ return name;}public void setID()
{return ID;}public class people
{public static void main(String args[]){
person p1=new person("王强");
person.ID++;
System.out.println(p1.getName()+p1.ID);
person p2=new person("李明");
person.setID();
System.out.println(p2.getName()+person.ID)
}
}
答案怎么会是 NULL1
NULL2
字符串
this.name= name;
}
1.public void setID(){return ID;}这里你的返回值是void(表示无返回值),可是你又return ID
既然有返回值就应该是:public int setID(){return ID;}3.一般用getXXX()方法表示得到对象中的值,用setXXX()方法表示设置对象中的值.所以最好写成:
public int getID(){return ID;}2.person p1=new person("王强");这里的实例化中传了参数,可你没有带参数的构造函数
应该写个构造函数:public person(String str){}
还有一局就是
public person(String s)
{name=s;}
还是 NULL 1
NULL 2
{
public String name;
static int ID=0;
public Person(String name){ this.name=name; } public String getName(){ return name; }
public int getID(){ return ID; }}
public class People
{
public static void main(String args[])
{
Person p1=new Person("王强");
Person.ID++;
System.out.println(p1.getName()+p1.ID);
Person p2=new Person("李明");
Person.ID++;
System.out.println(p2.getName()+Person.ID);
}
}改好了,唉!
public String getName() 和 public int getID()方法是属于类的,所以,不要把它写在构造函数中,它们是类的方法.
我也是初学者,以前也犯过这样的错误,多写几遍就能体会出来了,兄弟,加油吧!
{return ID;}看看自己写的什么东西??可以编译通过么?
void类型 你return?
还有一局就是
public person(String s)
{name=s;}
??
写函数可以部指定返回类型的??
不返回也要指定 void
How old are you? 大家猜猜是什么?