一:private对于类和对象(同C++)
private是只有这个类内部可以访问(类的成员函数和定义初始化)
private是类之间的限制,而不是对对象的限制《重点》
class priTest{private int age;public void setAge(int a) {this.age=a;}public int getAge() {return this.age;}public int compare(priTest obj1) {int flag=0;if(this.age>obj1.age) {flag=1;}return flag;}
}public class PrivateTest {public static void main(String[] args) {priTest p1= new priTest();priTest p2= new priTest();p1.setAge(15);p2.setAge(16);int ret=p1.compare(p2);System.out.println(ret);}
}

二:子类对于父类private成员变量的访问
虽然子类无法继承父类的private变量,但是其父类private成员变量和方法依然存在,可以通过父类的公共方法(未重写)去访问到那些字段和方法
class priTest{private int age;public void setAge(int a) {this.age=a;}public int getAge() {return this.age;}public int compare(priTest obj1) {int flag=0;if(this.age>obj1.age) {flag=1;}return flag;}
}class priSonTest extends priTest{public void test() {System.out.println("nothings");}
}
public class PrivateTest {public static void main(String[] args) {priSonTest p2= new priSonTest();p2.setAge(16);System.out.println(p2.getAge()); }
}

三:static类静态变量的访问
C++中static只能通过 类名.静态成员变量 进行访问
但是java中除此之外还有其他访问形式:
1.同C++
2.通过对象可以访问public static成员变量
3.可以通过静态成员函数访问
4.可以通过普通成员函数访问
注意:不允许通过静态成员函数去访问非静态成员变量或者方法
class Parent{public int a;public void start() {System.out.println("paretn");}
}class Child extends Parent{public static int b=3;public void start() {System.out.println("child");System.out.println(a);a+=3;
b+=6; //方法四访问}public static void change(int c) { b+=c; //方法三访问}
}public class MaintTest {public static void main(String[] args) {Child c = new Child();c.start();c.change(5); System.out.println(Child.b); //方法一访问System.out.println(c.b); //方法二访问Child.change(3);System.out.println(Child.b);System.out.println(c.b);}}