Java和C#的访问修饰符

JavaC#的访问修饰符

C#的访问修饰符:

     Public:可被所属类和成员以及不属于类的成员访问.

所修饰类的成员

可在任何情况下通过类的对象和类成员被使用.

所修饰的类类型

       可在任何情况下被类的访问级别的类继承.

       Internal:可被当前程序集访问           

所修饰类的成员

在统一解决方案里的使用与Public相同(与命名空间无关).出了解决方案则不可被使用.

              所修饰的类类型(其为类的默认修饰符)

在统一解决方案,可被相同级别的类继承(也就是说被Internal修饰的类),不可被访问就别比自己高的类继承(Public修饰的类).

同时,在不同解决方案,类类型不可被使用.

       Protected:可被所属类或派生自所属类的类型访问.

              所修饰类的成员

1.      可被类的内部对象(隐指针this) 和类成员使用,以及在类的内部所声明的类的对象使用.

2.      在其他类中声明的自身类的对象却不可访问自身的protected成员.

3.      在同一命名空间或不同命名空间,派生自所属类的类就继承了父类的protected以及访问级别以上的类成员,所以他的使用与自身声明的成员无异,其规则参照上两条.

所修饰的类类型

       其修饰符不能修饰类.

       Private:仅所属类的成员才可以访问

              所修饰类的成员(其为类成员的默认修饰符)

1.      可被类的内部对象和类成员使用,以及在类的内部所声明的类的对象使用.

2.      在其他类中声明的自身类的对象也不可访问自身的private成员.

3.      任何情况下,private成员不可被派生类继承.

所修饰的类类型

       其修饰符不能修饰类.

 

Java的访问修饰符:

Public:

所修饰类的成员

可在任何情况下通过类的对象和类成员被使用.

所修饰的类类型

       可在任何情况下被其他访问级别的类继承.

Protected:

              所修饰类的成员

1可被类的内部对象(隐指针this) 和类成员使用,以及在类的内部所声明的类的对象使用.

2在同,在其他类中声明的自身类的对象可访问自身的protected成员.

3 在不同, 在其他类中声明的自身类的对象却不可访问自身的protected成员.

4在同一或不同,派生自所属类的类就继承了父类的protected以及访问级别以上的类成员,但是在同,在其他类中声明的自身类的对象可访问自身和父类继承下的protected成员,在不同,在其他类中声明的自身类的对象只可访问父类继承下的protected成员,而自身的protected成员不可访问.

所修饰的类类型

       其修饰符不能修饰类.

       默认的:

              所修饰类的成员

1可被类的内部对象(隐指针this) 和类成员使用,以及在类的内部所声明的类的对象使用.

2在同,在其他类中声明的自身类的对象可访问自身的默认级别的成员.

3 在不同, 在其他类中声明的自身类的对象却不可访问自身的默认级别的成员.

4. 任何情况下,默认级别的成员不可被派生类继承.

所修饰的类类型

       1. 在同,可被其他访问级别的类继承.

                     2. 默认级别的类,不能在外被声明和实例化,也不能被继承,即使引入了包(import).也就是说,它在包外不可见.

Private:

              所修饰类的成员(其为类成员的默认修饰符)

1可被类的内部对象和类成员使用,以及在类的内部所声明的类的对象使用.

2任何情况下,在其他类中声明的自身类的对象也不可访问自身的private成员.

3任何情况下,private成员不可被派生类继承.

所修饰的类类型

       其修饰符不能修饰类.

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值