Test2 类中都没有看到你定义的getId方法,找不到正常

解决方案 »

  1.   

     Test2 类中都没有看到你定义的getId方法,找不到正常 
      

  2.   

    私有的属性需要用get和set方法读写。
      

  3.   

    是我自己写错了,在大家帮助下我终于实现了输出。6楼说得很对,没有Employee类,应该是Test2类.我把正克制的主程序贴出来。import com.corejava.*;
    import java.util.*;public class Test
    {
    public static void main(String[] args)
    {
    Test2[] student = new Test2[3];
    student[0] = new Test2("abc", 200);
    student[1] = new Test2("efg", 300);
    student[2] = new Test2("opq", 400);

    for(Test2 i: student)
    {
    System.out.println("name = " + i.name + "salary = " + i.salary + ", and the id is " + i.id);
    }
    }
    }
    另外,在包中我把各个变量变成public了,为什么不能private呢?
    改后的包为package com.corejava;
    import java.util.*;
    public class Test2
    {
     public String name;
     public double salary;
     public int id;
     private static int count = 0;
    public Test2(String name, double salary)
    {
    this.name = name;
    this.salary = salary;
    count++;
       id = count;
    }
    }
    如果变量为private,会有如下错误提示为什么呢?
      

  4.   


    你应该好好看看Java的基础,最起码把书的基本语法看一遍,然后遇到问题再来提问。
    你的问题太基础了。这就是public private protected Package的各种访问权限的问题了。
    public 在全部的类里面都可以引用;private 只能在本类中引用(注意,该类的子类都无法访问父类的private方法,只有这个类的内部类可以访问本类的private修饰的属性和方法);protected修饰的方法或属性,只能由子类来访问,别的类都不能访问。Package只能在同一个包的类进行访问。
    去看书吧。你的问题太基础了,不合适拿出来提问。浪费你自己的积分!
      

  5.   

    你清楚private(私有)和public(公共)的区别么
      

  6.   

    在大家的提示下我对private与public有了了解,问题的确很基础,但有时候,基础的问题不一定书上讲了就一定能及时理解到。都是通过不停地练习不停地发问,才能更好的掌握。