在方法中创建类Person,视为方法内部类,可以在方法体内直接new Person() 获得该类实例。
在方法外创建的类Person,如果方法是static修饰的,如static main(),而类没有用static修饰,要在static main方法中获得实例Person对象,则 需要先实例化一个外层的对象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
}
}