关于Java和C#的内部类的小记

14 篇文章 0 订阅

今天在看Java方面的书籍的时候看到这样一段话,说在Java中的内部类不能包含静态方法和字段,之后嵌套类中可以包含(内部类和嵌套类说的都是类中的子类,只不过嵌套类指的是静态的子类,用static修饰),我就在想C#中是不是也有这样的要求呢。于是打开编译器开始尝试,结果发现C#中的内部类是可以包含静态字段和方法的,不过在除该内部类所在的外部类之外的其他类中访问这些静态字段和方法的时候是不能通过内部类对象来访问的,只能通过“内部类名.静态字段/方法来访问的”。

在Java中创建内部类对象的时候,首先需要创建外部类对象,然后通过这个外部类对象来创建内部类对象,如下:

public class A{

     public class B{

     }


    public B getB(){

           return new B();

      }

}

那么创建B的对象需要这样写:

 A a=new A();

A.B b= a.new B();

或者

A a=new  A();

A.B b=a.getB();


而在C#中则可以这样写:

A.B b=new A.B();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值