当前位置:编程学习 > JAVA >>

刚学到创建类和类的对象引用有问题请教

class Man{
int age;
int name;
int hobby;
void speak(){
System.out.println("他站起来说");
}
}
创建这个类的时候我用的是int,好!没问题!但是类的引用出问题了!
public class ManWorld{
public static void main(String args []){
Man m = new Man();
m.name ="小云";
m.age ="18";
m.hobby ="电脑";
m.speak();
System.out.println("我名字是"+m.name);
System.out.println("年龄是"+m.age);
System.out.println("爱好是"+m.hobby);
}
}
ManWorld.java编译后运行时,
出现:
G:\src>java Manworld
Exception in thred "main" java.lang.NosuchFieldError:name
        at ManWorld.main<ManWorld.java:4>
然后把int改成String后:
class Man{
String age;
String name;
String hobby;
void speak(){
System.out.println("他站起来说");
}
}运行正常!
很困惑,我是个菜鸟求教下在这个代码中类的属性在这里为什么要用"String"创建属性而不是"int"?他们具体有什么区别? --------------------编程问答-------------------- 废话,那么当然要是用String定义了,名称不是一个字符串吗 --------------------编程问答-------------------- 谢谢!本人菜鸟一个!受教了! --------------------编程问答-------------------- int age; //你定义的age属性是int
m.age ="18"; // 这里应该写成m.age =18;

String age; //这里age改成了String
m.age ="18"; // 给属性所赋值的类型必须与定义类型一致 --------------------编程问答-------------------- 谢谢受教了 --------------------编程问答-------------------- int name;

Man m = new Man();
m.name ="小云";

int类型赋值string当然会编译不过。 --------------------编程问答-------------------- 嗯,名字不要用int --------------------编程问答-------------------- 类型啊~~ --------------------编程问答--------------------
引用 1 楼 djvfe 的回复:
废话,那么当然要是用String定义了,名称不是一个字符串吗

感觉2楼有种恨铁不成钢的味道。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,