1)属性
2)方法
3)构造器
4)代码块
5)内部类
1)局部内部类
2)匿名内部类(重点!!!!!!)
3)成员内部类
4)静态内部类
package innerClass_;
public class AnonymousInnerClass {
public static void main(String[] args) {
Outer04 outer04 = new Outer04();
outer04.method();
}
}
class Outer04{ // 外部类
private int n1 = 10;
public void method(){
// 基于接口的匿名内部类
// 老韩解读
// 1 想使用接口A
// 2 传统方式:写一个类,实现该接口,并创建对象。
// 3 需求:我们使用Tiger类,只是使用一次,这样写浪费。
// Tiger tiger = new Tiger();
// tiger.cry();
// 底层:
// class XXXX implents IA{
// @Override
// public void cry(){
// System.out.println("匿名内部类:老虎叫唤~~~~");
// }
// }
// 使用内部类简化开发:
IA tiger = new IA(){
@Override
public void cry(){
System.out.println("匿名内部类:老虎叫唤~~~~");
}
};
System.out.println("tiger的运行类型:" + tiger.getClass()); // 得到内部类的运行类型
tiger.cry();
Father father = new Father("baba"){//得到了新的类
};// 没有大括号,就是Father类
System.out.println("father的运行类型:" + father.getClass()); // 得到内部类的运行类型
}
}
interface IA{// 接口
public void cry();
}
//class Tiger implements IA{
//
// @Override
// public void cry() {
// System.out.println("老虎叫唤~~~~");
// }
//}
class Father{ // 类
public Father(String name) { // 构造器
}
public void test(){
}
}



