java武汉理工大学王梦瑶.doc_第1页
java武汉理工大学王梦瑶.doc_第2页
java武汉理工大学王梦瑶.doc_第3页
java武汉理工大学王梦瑶.doc_第4页
java武汉理工大学王梦瑶.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java修饰符简要介绍 武汉理工大学 软件sy1001 王梦瑶内容简要:关于protected ,private ,public ,package ,static ,final的简要说明和个人理解 引言:Java是完全面向对象的语言,在java中,修饰符是很常见并且很重要,很实用的知识点。他们有控制对类和成员变量,方法的访问,实现对类和对象的封装等作用。本文主要介绍protected受保护的,public公共的,private私有的,package包,static静态的,final最终的,其他还有transient过渡的,volatile易失的,abstract抽象的,native本地的,synchronized同步的,throws异常等,本文不做过多介绍。正文:一、 Public(公共的)带有public的修饰符的类,称为公共类,是访问修饰最宽的修饰词,公共类可以被任何包中的类使用。(读者需要注意:在同一源程序文件中只能有一个public类。)由public修饰的变量或方法(注:变量和方法类似,后文中除了必要,将省去方法。)称为公共变量,可被任何包中的任何类访问,只有确认任何外部访问都不会带来不良后果的情况下才将成员声明为公共的。公共变量对任何类都是可见的,不具有数据保护功能。声明有public的类二、private(私有的)带有private修饰符的类,称为私有类,是访问限制最窄的修饰词,只能被该类的对象访问,其子类不能访问,更不能跨包访问。(此处用eclipse演示,不能创建private类,故此处不做实验指示,请读者自行验证。)由private修饰的变量称为私有变量,只能被声明它的类使用,拒绝任何外部类的访问。私有变量是不公开的,它们得到了最好的保护,这是对类进行封装时使用的主要方法。此处为声明private变量、方法的类可与访问它自己:其他的包或者自己包里的类则不能访问:三、protected(受保护的)带有protected修饰符的类,称为保护类,能被该类的对象与子类访问,即使子类在不同包中也可以。由protected修饰的变量称为受保护变量,可被声明它的类和派生的子类以及同一个包中的类访问。这就像一个大家庭,家庭成员的秘密可以被其他成员分享,也包括一些亲朋好友,但不想让外界知道。此处为声明有protected成员、方法的类,读者可以看到,声明它的类可以访问它。此处为同一个包的类,很明显,也可以访问。此处为继承其的子类,读者可以看到,它也可以访问它。此处为不同包的类,访问protected处时被标注了红叉,不能被访问四、package(包)由package修饰的变量称为包变量,在声明时常常省略package关键字,即没有修饰符的成员被称为包成员。包成员可被声明它的类和同一个包中的其他类(包括派生子类)所访问,在其他包中的子类则不能访问父类的包成员。这就像值得信任的好朋友可以分享你的秘密,却不想让外地的家庭成员知道。有package的类同一个包的类可以访问:同一个包的子类可以访问:不同包的子类不能访问:五、static(静态)Static声明的成员变量被视为类的成员变量,而不能把它当作实例对象的成员变量。换句话说,静态变量是类固有的,可以直接引用,其他成员变量仅仅在被声明、生成实例对象后才存在,才可以被引用。基于这样的事实,也把静态变量称为类变量,非静态变量称为实例变量。方法也相应称呼。声明有static变量的类:不同包中的类不可引用:同一包的类中不可引用: 补充:1、 静态方法只能使用静态变量,不能使用实例变量。2、 类的静态变量只有一个版本,所有实例对象引用的都是同一个版本。请读者注意下一个程序下面的运行结果:六、final(最终的)带有final修饰符的类,称为最终类。最终类不可能有子类,也就是说它不能被继承。把一个类定义为最终类有两个理由:提高系统的安全性和出于对一个完美类的偏爱。(黑客常用的一个攻击技术是设计一个子类,然后用它替换原来的父类,子类和父类很相像,但做的事情却不太一样。为防止这样的事情发生,可以把类声明为最终类,不让黑客有可乘之机,如java中的string类。)注:final不能和abstract同时修饰一个类,这样的类是没有意义的。此处shinee14是final类,shinee15为其子类,报错。被final修饰的量为常量,不能被再次赋值,不能改变值。方法被声明为最终方法后,将不能被子类覆盖,即最终方法能被子类继承和使用,但不能在子类中修改或重新定义它。这种修饰可以保护一些重要的方法不被修改,尤其是那些对类的状态和行为有关键性作用的方法被保护以后,可以避免未知情况的发生。(在java中,子类可以把父类的方法重新定义,使之具有新的功能但又和父类的方法同名,同参数,同返回值,这种情况称为方法覆盖。)被final修饰的常量再次赋值报错:方法被声明为final后,在子类中的体现:1、父类shinee12:子类shinee14中的继承体现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论