目录
1.接口
2. 抽象类
1.接口
MayiktA.java
package com.面向对象.Demo40;public interface MayiktA {void mayiktA();
}
Test01.java
package com.面向对象.Demo40;public class Test01 {public static void main(String[] args) {// new MayiktA接口 底层实际上 帮助我们创建了 实现类 实现了 MayiktA接口MayiktA mayiktA = new MayiktA() {@Overridepublic void mayiktA() {System.out.println("匿名内部类-mayiktA()");}};mayiktA.mayiktA();}/*** 反编译技术** Java源代码 编译成class文件* class文件 反编译为java源代码** 接口和抽象类 是不能实例化* 匿名内部类底层 new 接口 底层还是 帮我们创建了 实现类 名称:null————编译阶段实现*/}
Test01$1.class(通过反编译工具)
package com.面向对象.Demo40;
final class null implements MayiktA {public void mayiktA() {System.out.println("匿名内部类-mayiktA()");}
}
2. 抽象类
MayiktB.java
package com.面向对象.Demo40;public abstract class MayiktB {public abstract void mayiktB();
}
Test02.java
package com.面向对象.Demo40;public class Test02 {public static void main(String[] args) {//java编译阶段 创建一个子类继承MayiktB抽象类MayiktB mayiktB = new MayiktB() {@Overridepublic void mayiktB() {System.out.println("使用匿名内部类 调用抽象方法mayiktB()");}};mayiktB.mayiktB();}
}
Test02$1.class
final class null extends MayiktB{public void mayiktB(){System.out.println("使用匿名内部类 调用抽象方法mayiktB()");}
}
下一篇文章: