- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉理工大学 软件1002班 黄彬 0121010680419
学 号: 0121010680419
Java作业
题 目Java主要修饰符的使用学 院计算机科学与技术学院专 业软件工程专业班 级软件1002 班姓 名黄彬指导教师祁明龙
2012年10月7日
JAVA主要修饰符的使用
Java中的修饰符分为类修饰符、字段修饰符、方法修饰符。根据功能的不同,也可以分为非访问修饰符和权限访问修饰符。非访问修饰符主要指出了类和方法的性质及属性,是本质上的归属和划分。有静态修饰符static,修饰属性和方法;抽象修饰符abstract,修饰类和方法;最终修饰符final,修饰类、属性和方法。访问修饰符是一组限定类、域或方法是否被程序里的其他部分访问和调用的修饰符。通过控制声明内容的访问权限、作用域,降低代码的耦合性,程序的复杂性,提高程序的安全性。类的访问修饰符只有一个public,域和方法的访问修饰符有四个,分别是public、private、protected、default,另外还有一种没有定义专门的访问修饰符的缺省情况。
1、权限访问修饰符
public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段,这四种权限的基本作用如下表:
privateprotectedpublicdefault类内√√√√类
外子类×√√×包内×√√√包外××√×注:√表示可以访问,×表示不能访问。
由该表我们可以清楚的看到各个修饰符所代表的访问权限。在修饰成员方法或成员变量时,public的权限最开放,无论在类内内外,还是包外都可以直接访问;其次是protected所修饰的权限仅在包外不能够访问,只要在同一个包内都可以访问;
例如:class A
{
protected int weight;
protected int f( int a,int b )
{
// 方法体
}
}
假设B与A在同一个包中则
class B
{
void g()
{
A a=new A();
A.weight=100;//合法
A.f(3,4);//合法
}
}
假设B与A 不在同一个包中则
Class B
{
void g()
{
A.a=new A();
A.weight=100;//不合法
A.f(3,4)//不合法
}
}
特别说明:用package打包在一起的类在同一个包里。在JDK的src\java\io中可以看到许多java类的第一句源代码都是package java.io,没有使用package打包而在同一目录下的类也会被视作同一个包。
接着是default(缺省权限控制),限制只能在同一个包内被引用和访问,在其他包内就不能够引用和访问。
例如:class A????????? { ??????????? int weight ;??????????? int f( int a,int b?? )?? ??????????? {????????????? // 方法体??????????? }?????????? }????? ?????? 假设B与A在同一个包中,则?????????? class B????????? {??????????? void g()??????????? {????????????? A a=new A();????????????? A.weight=100;//合法????????????? A.f(3,4);??? //合法???????????? }?????????? }??? private: 只能在本类中访问。???????????? 例如:??? class?? Test??????????????????? {? ?????????????????????? private int money;?????????????????????? Test()??????
文档评论(0)