weixin_41653236
Scott-Bing
采纳率100%
2018-06-29 08:57

Java中,这样算不算对抽象类进行创建对象实例化

5
已采纳
 abstract class Inter {
    public abstract void print();
    public abstract void run();
}

class Nonym {
    public static void main(String...args) {
        Inter i = new Inter() {
            public void print() {
                System.out.println("good");
            }

            public void run() {
                System.out.println("run");
            }
        };
        i.print();
        i.run();
    }
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • gf0515 Fatal Error 3年前

    实际上你是创建了Inter的子类,父类的类型指向了子类的实例,这事允许的。

    点赞 1 评论 复制链接分享
  • weixin_42524654 weixin_42524654 3年前

    你这种写法是创建了一个匿名内部类,实质是对抽象类创建了一个没有名字的子类,并重写了父类的方法,也就是说是对抽象类的子类对象创建了一个实例,不能算是对抽象类创建对象实例化

    点赞 评论 复制链接分享
  • oYuanYuJian 缘雨剑 3年前

    这样相当于创建了一个继承自Inter的子类的实例

    点赞 评论 复制链接分享
  • wo5550202 VIVIAN_WO 3年前

    你这个是新建了一个类,名字一样而已。

    点赞 评论 复制链接分享
  • sikwangxing sikwangxing 3年前

    实际上你是创建了Inter的子类

    点赞 评论 复制链接分享
  • wo5550202 VIVIAN_WO 3年前

    你这个不是实例化,只是实现的抽象类的方法。 如果你把方法去掉,单独去NEW一个看看哈。

    点赞 评论 复制链接分享
  • aixiaomeng123 aixiaomeng123 3年前

    这种写法是创建了一个Inter的匿名子类对象,抽象类不能创建对象

    点赞 评论 复制链接分享
  • m0_37867585 m0_37867585 3年前

    抽象类智能继承不能直接new

    点赞 评论 复制链接分享

相关推荐