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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

类,方法,变量在java中的默认修饰符各是什么 ?和.NET上面的有什么区别?

4 个回复

倒序浏览
类:public、protected、private还有缺省的(default)修饰符,在接口中默认为public。
变量 :public,protected,private,default,final,static。
方法:public,protected,private,default,final,static。
回复 使用道具 举报
关于.net,查了一下,有总结的挺好:
class前无修饰符(默认修饰符),在本命名空间可以访问
public class 其他程序集内也可以访问
internal class 本程序集内访问

对成员方法
方法前无修饰符(默认修饰符),本文件访问
public ,程序集内外都可以访问
internal protected 本程序集内+子类都可以访问
protected 子类访问
private 自己才可以访问

1.声明命名空间、类,前面不加限制访问修饰符时,默认访问权限为internal——访问仅限于当前程序集。

2.声明类成员(包括字段(变量)、属性和方法)默认为private)以及结构类型,前面不加限制访问修饰符时,默认访问权限为private——访问仅限于当前类。

3.声明枚举类型以及接口类型,前面不加限制访问修饰符时,默认为public且只能为public(就算要把限制访问修饰符写出来,也只能写public,而不能使用其他限制访问修饰符)——访问不受限制。


简单地说
1)你想要类库中的类及方法在程序集外部使用,则声明为public,
2)如果为程序集内部非子类使用声明为pubic或internal
3)如果仅程序集内部子类使用,声明为protected
4)如果为程序集内部子类和非子类都可以使用,声明为internal protected
5)如果成员方法和变量只有自己使用,默认或private
回复 使用道具 举报
java中:
类的默认修饰符是friendly,只有在相同包中的对象才能使用这样的类。
成员变量的默认修饰符是friendly,在同一个包中的其他类可以访问此变量,而其他包中的类不能访问该变量。
成员方法的默认修饰符是friendly,在同一个包中的其他类可以访问此方法,而其他包中的类不能访问该方法。
C#中:
类的默认修饰符是internal,访问仅限于当前工程。
成员变量和成员方法的默认修饰符都是private,仅限类内部的成员才能访问该成员。
回复 使用道具 举报
哥们,你似乎跨专业的了,或是我才书学浅。我不懂.NET。不过类的默认权限是不写,介于Public和protected中间。方法和变量也是一样的。不过变量一般用的都是private,没有见过加Public的,除是像PI这样的值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马