丿屿 2021-07-10 15:10 采纳率: 0%
浏览 35

不是说抽象类不能被实例化吗?那这是怎么回事?

import java.util.Scanner;

public abstract class Test {
        int a;
        int b;
        char c;
        public abstract int maopao(int a);
        public abstract int maopao();
        public abstract int maopao(char c);

    public Test(int a, int b, char c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }
}




public class Test_1 {
    public static void main(String[] args) {
        Test t= new Test(2, 4, 'A') {
            @Override
            public int maopao(int a) {
                return a;
            }

            @Override
            public int maopao() {
                return b;
            }

            @Override
            public int maopao(char c) {
                return c;
            }
        };
        System.out.println(t.maopao(t.a));
        System.out.println(t.maopao());
        System.out.println(t.maopao(t.c));

    }

}


运行结果:

img

那我这个算怎么回事?

  • 写回答

3条回答 默认 最新

  • ꧁gaoKuo꧂ 2021-07-10 16:35
    关注

    @Override 你看这个注解,这个是当前重写父类的方法,你new Test后面大括号里面的代码就相当于写了一个类继承了Test 类,那三个@Override的方法是对应之类的方法。
    说白了创建了一个内部匿名类然后实例化了,抽象类是不能实例化的。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月10日

悬赏问题

  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音