A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如果一个抽象外部类里面包含一个成员内部类,那这个内部类如何创建对象?初学java,求大神解答。

评分

参与人数 1黑马币 +10 收起 理由
驰马定中原 + 10 很给力!

查看全部评分

8 个回复

倒序浏览
outer.inner  s =new outer().inner();
回复 使用道具 举报
细听风语为梧桐 发表于 2016-9-5 22:14
outer.inner  s =new outer().inner();

不行吧,Outer是抽象类,不能创建对象
回复 使用道具 举报
package com.heima.bean;

abstract class Outer {

        public static void method() {
                System.out.println("Outer执行了");
        }

        static class Inner {
                public void method1() {
                        System.out.println("inner执行了");
                }
        }

}

public class Test extends Outer {
        public static void main(String[] args) {
                Outer.Inner oi = new Outer.Inner();// 创建对象
                Outer.method(); // 抽象类方法 外部类
                oi.method1();// 内部类方法执行

        }
}
回复 使用道具 举报 2 0
HARRY_yFd0S 来自手机 中级黑马 2016-9-7 09:22:15
报纸
如果不是静态的呢?
回复 使用道具 举报
君行 发表于 2016-9-6 11:15
package com.heima.bean;

abstract class Outer {

如果不是 静态的内部类呢?
回复 使用道具 举报
外部类名.内部类名 = new  (外部类名 ).new (内部类名)
回复 使用道具 举报
外部调用抽象类必须实现后实例化,才能调内部类。原因是内部类可以调外部类的参数,你外部类是抽象的,怎么可能让你通过内部类来调用一个抽象外部类未实现的方法?
回复 使用道具 举报
外部类名.内部类名 = new  (外部类名 ).new (内部类名)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马