Java主要修饰符.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java主要修饰符 摘要:本文总结了Java主要修饰符的作用及用法,并通过具体的例子对其进行了说明及应用 关键词:private public protected static final abstract private public protected,这三个修饰符都可以用来修饰类,方法和字段。通常来说,类的成员被修饰为private,类的方法被修饰为public,接口的抽象方法的访问修饰符都被指定为pubilc. 1.1私有访问修饰符 用private修饰的域和方法只能被同一个类中的成员方法所访问,而不能被其他任何类(包括该类的子类)访问。 要注意的是同一个类的不同对象是可以访问对方的private域或private方法。这是因为访问保护是控制在类的级别上,而不是在对象的级别上。 private访问控制符提供了最高的类成员保护级别。凡是限定在类内部使用的域和方法就应该用private修饰,使它们不被其他类所见,体现了类的封装和信息隐藏。 1.2默认访问控制符 如果在类的定义中,域和方法前没有指定访问控制符,则域和方法具有包访问性,即可被处于同一个包中的所有类(的方法)所访问。它们也被称为“包有元”成员。 1.3保护访问控制符 类中限定为protected的成员可以被这个类本身、它的子类(包括同一个包及不同包中的子类)以及同一个包中的所有其他类来访问。 该访问控制符较之默认访问控制符又放宽了一些,主要是允许它的子类都可以访问(即使在不同的包内) 1.4公共访问控制符 类中被限定为public的成员可以被所有的类访问 1.5访问修饰符通常的定义方式 (1)类和类成员都采用默认访问控制(包内访问) (2)类比成员的访问范围宽。成员在类的范围内,根据各自的用途设置不同的访问控制。 如果一个类中定义了常用的操作,希望能作为公共工具供其他类和程序使用,则应把类本身和这些方法都定义成为public,这也是Java的主类必须是public的原因。 由于public修饰符完全对外公开,可能会造成安全性和数据封装性下降,所以一般应减少public的使用。 为了使对象具有良好的封装性,一般将类的实例域设计成为私有,为了使其他类和对象能够访问私有域,本类必须提供访问私有域的方法(公共方法)。 权限修饰符的用法,总结为下表: 修饰符 包外 子类 包内 类内 public yes yes yes yes protected no yes yes yes default no no yes yes public no no no yes 2static修饰符 static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例。package com.java; public class fun { public static void f() { System.out.println(1); } } package com.java; public class Sum { public static void main(String []args) { fun.f(); } } 显然,程序的运行结果是输出1。在这段代码里两次出现了用static声明的方法,此方法是类的方法,而不是类的成员的方法,因此在使用这些方法的时候可以不必先通过创建类的对象来使用方法,而可以直接通过类来使用。如果把第一个fun类里面f()方法的修饰符static去掉,则在Sum类中主方法的代码应改为: fun s = new fun(); s.f(); 如果用了static声明f()方法,又要使用fun类的对象来使用该方法,则要在代码中加上@SuppressWarnings(static-access) 要注意的是Java不能像C/C++一样在方法中使用static声明变量,例如在上述代码的f()方法中加上static int i = 0;就会报错,报错为: Exception in thread main java.lang.Error: Unresolved compilation problem: Illegal modifier for parameter i; only final is permitted at com.java.fun.f(fun.java:4) at com.java.Sum.main(Sum.java:6)) 在Java代码中多次使用的main()方法就是静态方法,这是为了系统在没有任何实例化对象之前就可以运行一个应用程序。 由于static方法是属于整个类

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档