Java 创建内部类对象时,内部类为静态和非静态时的创建方法

有时我们创建某个对象时,需要使用某个类的内部类创建的对象,这时内部类为静态内部类和非静态内部类时创建的方法是不同的;当内部类为非静态类时,要在main函数中创建内部类对象,首先main函数得在外部类中,然后调用: 内部类 内部类对象名=外部类对象.new 内部类() 的方法在main函数中创建一个内部类对象。:

class HelloWorld{

    //外部类的私有属性name
    private  String name = "hello world"; 
    //成员内部类Inner
    public class Inner {
        String name = "hello java";
        //内部类中的方法
        public void show() { 
            System.out.println("外部类中的name:" +HelloWorld.this.name );
            System.out.println("内部类中的name:" +   name  );
        }
    }
//测试成员内部类
    public static void main(String[] args) {

        //创建外部类的对象
        HelloWorld hello = new HelloWorld (); 

        //创建内部类的对象
        Inner inn =hello.new Inner();      //内部类为非静态类  内部类 内部类对象名=外部类对象.new 内部类() 

        //调用内部类对象的show方法
        inn.show();
    }

}

当内部类为静态类时,此时在main函数中创建内部类的方法为:外部类.内部类 内部类对象 =new 外部类.内部类() 的方法创建一个内部类对象,此时main函数的位置没有要求。

class HelloWorld{
    //成员内部类Inner
    public static class Inner {
        String name = "hello java";
        //内部类中的方法
        public void show() {
            System.out.println("内部类中的name:" +   name  );
        }
    }

}
public class Main{
          //测试成员内部类
    public static void main(String[] args) {


        //创建内部类的对象
        HelloWorld.Inner inn =new HelloWorld.Inner();      //内部类为静态类 外部类.内部类 内部类对象 =new 外部类.内部类()   

        //调用内部类对象的show方法
        inn.show();
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值