请详细解释下下面程序中那3行private是什么意思 有什么作用呢?我删除了程序就不能运行了 尽量详细些 谢谢
class StudentInfo
{
public StudentInfo(String n, int id, String a)
{
name=new String(n);
idNumber=id;
address=new String(a);
} public void printInfo()
{
System.out.println(name+" "+idNumber+" "+address);
}
        private String name;
private int idNumber;
private String address;

}public class StudentInfoTest
{
public static void main(String[] args)
{
StudentInfo si1=new StudentInfo("John Smith",3429,"21 Bristol Rd");
StudentInfo si2=new StudentInfo("Alan Jones",5395,"30 Bournbrook Rd"); si1.printInfo();
si2.printInfo();
}
}

解决方案 »

  1.   


    private 表示除了包含该成员的类之外,其他任何类都无法访问这个成员. 
    定义private String name
    那么 name这个变量只能在在本个类里面使用.
    你删掉了当然用不了..
      

  2.   

     name=new String(n);
    不是在这里已经定义了name吗?为什么还要private String name 呢?
      

  3.   

    name=new String(n);
    不是在这里已经定义了name吗?为什么还要private String name 呢?//java里完整的定义是这样的
    // String name = new String(n);
      

  4.   


    那要是不用那3行private 上面那个类该怎么改呢?我刚改了半天没成功 谢谢
      

  5.   

    不用private也行但是变量的声明是一定要的
      

  6.   

    我这样申明可以吗?编译不成功 不知道哪里有错误
    class StudentInfo
    {
    public StudentInfo(String n, int id, String a)
    {
    String n=new String();
    int id=new int;
    String a=new String();
    } public void printInfo()
    {
    System.out.println(n+" "+id+" "+a);
    }}
      

  7.   

    class StudentInfo
    {
      private String name=null;
      private int idNumber=null;
      private String address=null;
        public StudentInfo(String name, int idNumber, String address)
        {
            this.name=name;
            this.idNumber=idNumber;
            this.address=address;
        }    public void printInfo()
        {
            System.out.println(name+" "+idNumber+" "+address);
        }}
    + 一楼的private解答你传的参数名字可以不改;最好习惯养成个规范
    /////////////////////////////////////////////////////////////
      

  8.   

    private是私有的意思 一般用来修饰成员变量  达到封装的效果
      

  9.   

    可以的。private String name这三行是申明了属性变量,在有该类的对象时,类里的任何一个非static方法都可以调用这三个属性变量。private是访问级别。只能在本类(包括类部类)中可以使用(当然不是绝对的,以后要学反射的话,就可以明白,在用到反射的情况下,就是访问级别最低的private权限都可以给他搞调让其可以在外部访问)。
    private是封装的基本写法。封装就是要求把属性私有化(用private来修饰),然后提供public的get,set方法来为属性进行赋值
      

  10.   

        int id=new int; int是基本类型   基本类型是不可以new  一个对象的.只有封装类或你自己创建的类才可以new 对象...
    从来不白JF的一个人...[拉风而过...]