public class Person {
//单例模式
private static Person person = new Person();
String name ;
int num = 100;
public static Person getInstance(){
return person;
}
public void test() {
Person1 p = new Person1(this);
p.fun1();
Person2 p2 = new Person2();
p2.fun2();
}
class Person2 {
public void fun2() {
System.out.println("内部类"+ num);
}
}
public static void main(String[] args) {
//单利模式
Person p1 = Person.getInstance();
Person p2 = Person.getInstance();
System.out.println(p1==p2);
p1.test();
}
}
//一个外部类要访问另外一个类的成元变量 需要定义一个构造函数 然后在new对象的时候传入this
class Person1{
Person person;
public Person1(Person person) {
this.person = person;
}
public void fun1(){
System.out.println("外部类要访问另外一个类的成元变量"+person.num);
}
}
打印结果:
true
外部类要访问另外一个类的成元变量100
内部类100