1. main方法能调用main所在类的private属性
今天测试原型模式的时候发现个奇怪的事儿,我设置private变量并没有设置get方法,main方法竟然能用 对象.变量访问!
package 原型模式;
public class PackageInfo implements Cloneable{
public int a;
private int b;
public void setA(int a) {
this.a = a;
}
public void setB(int b) {
this.b = b;
}
public static void main(String args[]) throws CloneNotSupportedException {
PackageInfo p = new PackageInfo();
p.setA(1);
p.setB(2);
PackageInfo p2 = (PackageInfo) p.clone();
//p.b不报错
System.out.println(p.b+" "+p2.b + " " + p2.a);
}
}
在同一个包下
package 原型模式;
public class Demo2 {
public static void main(String args[]) {
PackageInfo p = new PackageInfo();
//这里报错了
System.out.println(p.b+" ");
}
}
所以,main方法能调用main所在类的private属性。
所以说,main也属于这个类?俺得去找找jvm的书看看。。。。(TODO)