




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java访问权限修饰符publicprotecteddefaultprivate用法总结首先声明:java中,default这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是default。为了条理清晰,分三种不同情况来总结。访问权限修饰符修饰成员变量和方法public:表明该成员变量和方法是共有的,能在任何情况下被访问。protected:必须在同一包中才能被访问。(说的比较简单,看个例子就明白了)eg:classAprotectedintweight;protectedintf(inta,intb)/方法体假设B与A在同一个包中,则classBvoidg()Aa=n
2、ewA();A.weight=100;合法A.f(3,4);/合法特别说明:什么是在同一个包中?答:用package打包在一起的class,叫在同一个包中。(不明白,举个例子)eg:在JDK的srcjavaio中,你会看到许多java类,第一句源代码都是packagejava.io;没有使用package打包的,在同一目录下的类也会被视做同一个包。default:在这种情况下中,同protectedo区别在第二和第三种情况中。eg:classAintweight;intf(inta,intb)/方法体假设B与A在同一个包中,则classBvoidg()Aa=newA();A.weight=10
3、0;合法A.f(3,4);/合法private:只能在本类中访问。eg:classTestprivateintmoney;Test()money=2000;privateintgetMoney()returnmoney;publicstaticvoidmain(Stringargs)Testte=newTest();te.money=3000;/合法intm=te.getMoney();/合法System.out.println(money=+m);PS:实际上,把重要的数据修饰为private,然后写一个public的函数访问它,正好体现了OOP的封装特性,是OOP安全性的体现。访问权限修饰
4、符修饰类1,不能用protected和private修饰类。2,用default修饰的类叫友好类,在另外一个类中使用友好类创建对象时,要保证它们在同一包中。访问权限修饰符与继承这里的访问修饰符指的是修饰成员变量和方法。可以分为两种情况:1,子类与父类在同一包中此时只有声明为private的变量与方法不能被继承(访问)。eg:classFatherprivateintmoney;intweight=100;classSonextendsFatherviodf()money=10000;/非法weight=100;/合法2,子类与父类不在同一包中此时private与default均不能被继承(访问
5、),protected与public可以eg:Father.javapackagecom.aaapublicclassFatherintheight;protectedintmoney=120;publicintweight;protectedintgetMoney()returnmoney;voidsetMoney(intnewMoney)money=newMoney;Son.javapackagecom.bbbimportcom.aaa.Father;publicclassSonextendsFathervoidf()money=1OOOO;合法height=170;非法,height为d
6、efault修饰的变量System.out.println(money);输出结果是10000/setMoney(300);/非法intnumber=getMoney();/合法System.out.println(number);输出结果是10000publicstaticvoidmain(Stringargs)Sonsss=newSon();sss.f();所以,访问权限修饰符权限从高到低排列是publicprotected,default,private。圈Java中的abstract,static,final修饰符修饰符使用对象:类、接口、方法介绍:类中包括没有实现的方法,不能被实例化
7、。如果是一个方法,则方法体为空,该方法的实现在子类中被定义,并且包含一个方法的类必须是一个类修饰符表示所修饰的类没有完全实现,还不能实例化。如果在类的方法声明中使用修饰符,表明该方法是一个抽象方法,它需要在子类实现。在下面的情况下,类必须是抽象类:类1中.包含一个明确声明的抽象方法;类2的.任何一个父类包含一个没有实现的抽象方法;类3的.直接父接口声明或者继承了一个抽象方法,并且该类没有声明或者实现该抽象方法。如下例所示:abstractlassextendspublicintv2;classSampleextendsA2voidtest()因为包含一个抽象方法test类必须被声明为抽象类。它
8、的子类继承了抽象方法test,但没有实现它,所以它也必须声明为抽象类。然而,的子类Sample因为实现了test,所以它不必声明为抽象的。如果试图创建一个抽象类的实例就会产生编译错误;如果一个类是非抽象类却包含一个抽象方法,就会产生编译错误;构造函数和静态函数以及ina修饰的函数不能使用astra修饰符;接口缺省为astratStati修饰符stati使用对象:类、方法、变量、初始化函数通常,在创建类的实例时,每个实例都会创建自己实例变量。但是在变量的声明中可以使用Stati修饰符,它表明该成员变量属于类本身,独立于类产生的任何对象。这种成员变量称为静态变量(静态属性)。方法的声明中也可以使用
9、stati修饰符,表明该方法从属于类本身。静态属性和静态方法不需要创建实例就可以使用。典型的例子是aa.lan包中的System类中的方法和变量。我们常用System.out.println(“message);输出信息,并没有创建System的实例,是因为printin方法声明为System类的静态方法,它不需创建实例就可以使用。下面的例子会帮助你更深刻的理解Stati修饰符。注意各个代码块的加载次序。lassSample一旦这个类被调用,所有的静态变量都被初始化,被赋为3然后运行块,这将打印出一段消息,并且把赋为,即4然后解释器调用成员函数,它调用了成员函数,该函数输出和的信息。运行结果如下:通过上面的例子还可以看出,一个静态成员函数可以通过它所属的类名来调用。在静态成员函数中只能直接调用其它的静态成员函数或引用静态属性,否则会造成编译错误。静态成员函数中也不能使用或者,因为它们是和类的对象相关联的。修饰符使用对象:类、方法、变量介绍:被定义成的类不允许出现子类,不能被覆盖,字段值不允许被修改。如果一个类是完全实现的,并且不再需要继承子类,则它可以声明为类。如果类的名字出现在另一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度建筑工程款拨付与节能减排协议
- 2025年度个人创业贷款中介代理服务合同(含政策咨询)
- 旅游景区设施居间销售合同
- 2025年度房屋赠与及智能家居系统安装合同
- 2025年度房屋代购与智能家居系统集成协议
- 2025年度拆迁安置房抵押贷款服务合同
- 2025年度电动自行车贷款抵押服务协议
- 2025年个人投资入股文化创意产业合作协议
- 2025年度土地个人承包经营权委托管理合同
- 2025年度企业退休项目经理再聘用服务协议
- 渣土车司机安全培训
- 分布式储能系统的成本效益评估
- 二次函数(最全的中考二次函数知识点总结)
- 建筑卫生陶瓷生产英文资料
- 网络意识形态安全
- 汽油安全技术说明书(MSDS)
- 人工智能的伦理问题及其治理研究
- 眼球摘除患者的护理病例讨论
- ABB工业机器人编程-第五章
- 《鲁滨孙漂流记》讲解
- 《现代食品检测技术》全套教学课件
评论
0/150
提交评论