1. 程式人生 > >沒有任何型別 Test1 的外層例項可訪問。必須用型別 Test1 的外層例項(例如,x.new A(),其中 x 是 Test1 的例項)來限定分配。

沒有任何型別 Test1 的外層例項可訪問。必須用型別 Test1 的外層例項(例如,x.new A(),其中 x 是 Test1 的例項)來限定分配。

在main方法中建立類Person,視為內部類,可以直接new Person,在main方法外建立的類,需要先例項化一個外層的物件A,再通過A.new來例項類Person

package new_start1;
public class Test1 {
	class Person
	{
		public String name;
		public int age;
		public Person(String n,int g)
		{
			this.name=n;
			this.age=g;
		}
	}
	public static void change(Person a)
	{
		a.name="haha";
	}
	public static void main(String[] args) {	
		//直接new會報錯,Person p=new Person("zhangsan",12);
	        Test1 t=new Test1();//建立一個外部例項
                Person p=t.new Person("xxx",1);//通過外部例項t例項化Person
        }
}