内部类创建

public class InnerClass {
    class Content {
        private int i = 11;  
    } 

    //content方法在外部类中
    public Content content(){
        return new Content();
    }
}

1. 第一种创建方式

先创建外部类对象,然后再借助外部类来创建内部类。 

   public static void main(String[] args) {
        InnerClass in = new InnerClass();
        InnerClass.Content content = in.new Content();

        //也可以写成
        //  InnerClass.Content content = new InnerClass().new Content();
   }

2.第二种创建方式

也是先创建外部类对象,但之后将 new Content();方法封装到content方法内。

    public static void main(String[] args) {
        InnerClass in = new InnerClass();
        InnerClass.Content content1 = in.content();
    }

3.第三种创建方法

在内部类方法中用 Content content = new Content() 创建(注意这个只能在非静态方法中能用,在静态方法中不可用)。因为在静态区(即静态方法、静态初始化块等)中无法直接创建非静态内部类的对象,因为静态区没有外部类的实例来支持内部类对象的创建。

public class InnerClass {
    class Content {
        private int i = 11;
    }

    public void content(){
        Content content = new Content();
    }
}

4.第四种创建方法

这是静态类的创建方法直接Content content = new Content() 就行

public class InnerClass {
    static class Content {
        private int i = 11;
}

    public static void main(String[] args) {
        Content content = new Content();
    }
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值