- class Demo_AnonymousInnerClass02 {
- public static void main(String[] args) {
- Outer o=new Outer();
- o.method();
- }
- }
- interface Inter{
- public abstract void print01();
- public abstract void print02();
- }
- class Outer{
- public void method(){
- // Inter i=new Inner();
- // i.print();
- //匿名内部类只适合重写一个方法时使用,复用性太差;
- new Inter(){
- public void print01(){
- System.out.println("Anonymous Inner Class realise interface 01!");
- }
- public void print02(){
- System.out.println("Anonymous Inner Class realise interface 02!");
- }
- }.print01();
- new Inter(){
- public void print01(){
- System.out.println("Anonymous Inner Class realise interface 02!");
- }
- public void print02(){
- System.out.println("Anonymous Inner Class realise interface 02!");
- }
- }.print02();
- //父类引用指向子类对象方法实现
- Inter i= new Inter(){
- public void print01(){
- System.out.println("Anonymous Inner Class realise interface 01!");
- }
- public void print02(){
- System.out.println("Anonymous Inner Class realise interface 02!");
- }
- public void print03(){
- System.out.println("Anonymous Inner Class realise interface 02!");
- }
- }; //不能少分号
- i.print01();
- i.print02();
- //i.print03(); //此方法是子类的特有方法,编译看父类而出错,这是本方法的弊端
- }
- }
复制代码 |
|