//接口和抽象类不用去实例化他们,而是采用内部类方式实现
package com.leyulv.innerclass;
//接口
public interface Animal {
public void show();
}
-----------------------------------------------------------
package com.leyulv.innerclass;
//抽象类
public abstract class Phone {
public abstract void call();
}
---------------------------------------------------------------
package com.leyulv.innerclass;
public class TestInnerClass {
public static void main(String[] args) {
/**
* 接口的匿名内部类实现
*/
Animal animal= new Animal() {
@Override
public void show() {
System.out.println("show show show");
}
};
animal.show();
/**
*抽象类的匿名内部类实现
*/
Phone phone= new Phone(){
@Override
public void call() {
System.out.println("phone phone phone");
}
};
phone.call();
}
}
-----------------------------------------------------------------------------------------
//当接口作为参数放在方法体里的时候,用new 接口()的方式来实例独享
package com.leyulv.innerclass;
//接口
public interface Color {
public void red();
}
------------------------------------------------------------------
package com.leyulv.innerclass;
public class SeeColor {
public void see(Color color){
color.red();
}
public static void main(String[] args) {
SeeColor seeColor = new SeeColor();
//new 内部类
seeColor.see(new Color() {
@Override
public void red() {
System.out.println("red red red");
}
});
}
}
匿名内部类的实现
最新推荐文章于 2023-08-26 17:50:11 发布