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