1.
package com.test.inner;
public class MainClass {
private String name;
private Say memberVarSay;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void function1(){
Say say = new Say("zhang san");
//Say相当于是主类MainClass的一个成员变量,访问当然需要用对象
say.say();
}
//上面定义的memberVarSay是一个成员变量,下面这个是匿名内部类,其实是一个道理
private class Say{
private String str;
public Say(String str){
this.str = str;
}
public void say(){
System.out.println(str);
}
}
public class Say2{
private String str;
public Say2(String str){
this.str = str;
}
public void say(){
System.out.println(str);
}
}
}
2.
package com.test.inner;
public class Test {
public static void main(String[] args) {
MainClass mainClass = new MainClass();
mainClass.function1();
//前面是一类型,后面是类下面MainClass的一变量对象
MainClass.Say2 say2 = mainClass.new Say2("li si");
say2.say();
}
}