如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
武汉理工大学《Java程序设计基础》作业软件工程1004班牛洋0121010680409PAGE\*MERGEFORMAT26Java主要修饰符摘要:Java修饰符是Java中很重要的一部分,本文总结了Java主要修饰符的作用及用法,并通过具体的例子对其进行了说明及应用,使在Java的学习中对修饰符有更系统的认识。关键词:privatepublicprotectedstaticfinalabstract1权限访问修饰符Java中常用的权限访问修饰符主要有以下三个:privatepublicprotected,这三个修饰符都可以用来修饰类,方法和字段。通常来说,类的成员被修饰为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的使用。为了使对象具有良好的封装性,一般将类的实例域设计成为私有,为了使其他类和对象能够访问私有域,本类必须提供访问私有域的方法(公共方法)。权限修饰符的用法,总结为下表:修饰符包外子类包内类内publicyesyesyesyesprotectednoyesyesyesdefaultnonoyesyespublicnononoyes2static修饰符static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例。通过一个简单的例子来说明static的用法。packagecom.java;publicclassfun{publicstaticvoidf(){System.out.println("1");}}packagecom.java;publicclassSum{publicstaticvoidmain(String[]args){fun.f();}}显然,程序的运行结果是输出1。在这段代码里两次出现了用static声明的方法,此方法是类的方法,而不是类的成员的方法,因此在使用这些方法的时候可以不必先通过创建类的对象来使用方法,而可以直接通过类来使用。如果把第一个fun类里面f()方法的修饰符static去掉,则在Sum类中主方法的代码应改为:funs=newfun();s.f();如果用了static声明f()方法,又要使用fun类的对象来使用该方法,则要在代码中加上@SuppressWarnings("static-access")要注意的是Java不能像C/C++一样在方法中使用static声明变量,例如在上述代码的f()方法中加上staticinti=0;就会报错,报错为:Exceptioninthread"main"java.lang.Error:Unresolvedcompilationproblem:Illegalmodifierforparameteri;onlyfinalispermittedatcom.java.fun.f(fun.java:4)atc