java武汉理工大学王梦瑶.doc

java武汉理工大学王梦瑶.doc

ID:37852379

大小:1.14 MB

页数:18页

时间:2019-06-01

java武汉理工大学王梦瑶.doc_第1页
java武汉理工大学王梦瑶.doc_第2页
java武汉理工大学王梦瑶.doc_第3页
java武汉理工大学王梦瑶.doc_第4页
java武汉理工大学王梦瑶.doc_第5页
资源描述:

《java武汉理工大学王梦瑶.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java修饰符简要介绍——武汉理工大学软件sy1001王梦瑶内容简要:关于protected,private,public,package,static,final的简要说明和个人理解引言:Java是完全面向对象的语言,在java中,修饰符是很常见并且很重要,很实用的知识点。他们有控制对类和成员变量,方法的访问,实现对类和对象的封装等作用。本文主要介绍protected受保护的,public公共的,private私有的,package包,static静态的,final最终的,其他还有transient过渡的,vo

2、latile易失的,abstract抽象的,native本地的,synchronized同步的,throws异常等,本文不做过多介绍。正文:一、Public(公共的)带有public的修饰符的类,称为公共类,是访问修饰最宽的修饰词,公共类可以被任何包中的类使用。(读者需要注意:在同一源程序文件中只能有一个public类。)由public修饰的变量或方法(注:变量和方法类似,后文中除了必要,将省去方法。)称为公共变量,可被任何包中的任何类访问,只有确认任何外部访问都不会带来不良后果的情况下才将成员声明为公共的。公共

3、变量对任何类都是可见的,不具有数据保护功能。声明有public的类二、private(私有的)带有private修饰符的类,称为私有类,是访问限制最窄的修饰词,只能被该类的对象访问,其子类不能访问,更不能跨包访问。(此处用eclipse演示,不能创建private类,故此处不做实验指示,请读者自行验证。)由private修饰的变量称为私有变量,只能被声明它的类使用,拒绝任何外部类的访问。私有变量是不公开的,它们得到了最好的保护,这是对类进行封装时使用的主要方法。此处为声明private变量、方法的类可与访问它自己

4、:其他的包或者自己包里的类则不能访问:三、protected(受保护的)带有protected修饰符的类,称为保护类,能被该类的对象与子类访问,即使子类在不同包中也可以。由protected修饰的变量称为受保护变量,可被声明它的类和派生的子类以及同一个包中的类访问。这就像一个大家庭,家庭成员的秘密可以被其他成员分享,也包括一些亲朋好友,但不想让外界知道。此处为声明有protected成员、方法的类,读者可以看到,声明它的类可以访问它。此处为同一个包的类,很明显,也可以访问。此处为继承其的子类,读者可以看到,它也可

5、以访问它。此处为不同包的类,访问protected处时被标注了红叉,不能被访问四、package(包)由package修饰的变量称为包变量,在声明时常常省略package关键字,即没有修饰符的成员被称为包成员。包成员可被声明它的类和同一个包中的其他类(包括派生子类)所访问,在其他包中的子类则不能访问父类的包成员。这就像值得信任的好朋友可以分享你的秘密,却不想让外地的家庭成员知道。有package的类同一个包的类可以访问:同一个包的子类可以访问:不同包的子类不能访问:五、static(静态)Static声明的成员变

6、量被视为类的成员变量,而不能把它当作实例对象的成员变量。换句话说,静态变量是类固有的,可以直接引用,其他成员变量仅仅在被声明、生成实例对象后才存在,才可以被引用。基于这样的事实,也把静态变量称为类变量,非静态变量称为实例变量。方法也相应称呼。声明有static变量的类:不同包中的类不可引用:同一包的类中不可引用:补充:1、静态方法只能使用静态变量,不能使用实例变量。1、类的静态变量只有一个版本,所有实例对象引用的都是同一个版本。请读者注意下一个程序下面的运行结果:六、final(最终的)带有final修饰符的类,

7、称为最终类。最终类不可能有子类,也就是说它不能被继承。把一个类定义为最终类有两个理由:提高系统的安全性和出于对一个完美类的偏爱。(黑客常用的一个攻击技术是设计一个子类,然后用它替换原来的父类,子类和父类很相像,但做的事情却不太一样。为防止这样的事情发生,可以把类声明为最终类,不让黑客有可乘之机,如java中的string类。)注:final不能和abstract同时修饰一个类,这样的类是没有意义的。此处shinee14是final类,shinee15为其子类,报错。被final修饰的量为常量,不能被再次赋值,不能

8、改变值。方法被声明为最终方法后,将不能被子类覆盖,即最终方法能被子类继承和使用,但不能在子类中修改或重新定义它。这种修饰可以保护一些重要的方法不被修改,尤其是那些对类的状态和行为有关键性作用的方法被保护以后,可以避免未知情况的发生。(在java中,子类可以把父类的方法重新定义,使之具有新的功能但又和父类的方法同名,同参数,同返回值,这种情况称为方法覆盖。)被final修饰

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。