class Manager 
{
String part;
String name;
double sa;
int age;
public void show()
{
System.out.println("姓名"+name);
System.out.println("年龄"+age);
System.out.println("工资"+sa);
System.out.println("地址"+addr);
}
}class Test
{
public static void main(String[] args)
{
Manager m1=new Manager();
m1="shuxue";
m1=1365;
m1="sks";
m1="jds";
m1.show();
}
}
想问下main方法中m1为什么不能直接赋值呢??.....自定义的类要怎么赋值?只能通过例如setName();等方法赋值吗?

解决方案 »

  1.   

    给对象的属性赋值时,应指明给属性
    m1="shuxue"; 
    m1=1365; 
    m1="sks"; 
    m1="jds"; 
    以上应改为
    m1.part="shuxue";
    m1.name="jds"; 
    m1.age="xxx"
    m1.sa="?xxx"不过实际操作中不建议这样做,一般都使用给相应属性设置get或set方法以保证对象属性的安全
      

  2.   

    推荐你看看java编程思想这本书,会有不少收获的!
      

  3.   

    当然不能, m1="shuxue"; 
    这里的m1是一个Manager 对象, 而"shuxue"是一个String 对象。  如果你想给m1.part = "shuxue";
    也是不行的, 因为他是默认的。要想这么用:  只是在申明的时候:String part; ===》public String part;