classEmplyee{privatestaticlongnextId=10000;privateStringname;//名字privatedoublesalary;//薪水privatelongID;//工号//构造器publicEmplyee(Stringn,doubles){this.name=n;this.s...
class Emplyee{
private static long nextId=10000;
private String name;//名字
private double salary;//薪水
private long ID;//工号
//构造器
public Emplyee(String n,double s){
this.name=n;
this.salary=s;
ID=nextId;
}
//获取信息
public String getName(){
return this.name;
}
public double getSalary(){
return this.salary;
}
public long getId(){
return this.ID;
}
public static long get_nextId(){
return nextId;
}
//添加一个人调用一次
public void setID(){
this.ID=nextId;
nextId++;
}
public static void main(String[] args) {
var people_1=new Emplyee("Leng Meng",5000);
people_1.setID();
System.out.println(people_1.salary);
System.out.println(people_1.getName()+" "+people_1.getSalary()+" "+people_1.getId());
}
为什么main方法中的对象可以直接访问类的私有数据呢?这样岂不是破坏了封装性吗?System.out.println(people_1.salary);这句话为什么可以顺利的通过编译?
展开