黑马程序员技术交流社区
标题:
修饰符
[打印本页]
作者:
张海洋
时间:
2013-3-23 14:23
标题:
修饰符
访问修饰符“public/private/protected/缺省的修饰符”的使用有什么不同?
作者:
VOIDMAIN
时间:
2013-3-23 15:14
从网上给你抄一段看看吧,其实书上都有介绍的:
java中的修饰符分为类修饰符,字段修饰符,方法修饰符。根据功能的不同,主要分为以下几种。
1、权限访问修饰符
public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。
包外 子类 包内 类内
public yes yes yes yes
protected no yes yes yes
default no no yes yes
private no no no yes
2、final修饰符
final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后该方法不能被改变,也就是重写。
3、abstract修饰符
abstract是抽象的意思,用来修饰类和方法,修饰类后,该类为抽象类,不能被实例化,必需进行扩展。修饰方法后,该方法为抽象方法必须被子类重写(override)。
4、static修饰符
static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例。
作者:
blackcaismine
时间:
2013-3-23 15:19
本帖最后由 blackcaismine 于 2013-3-23 15:20 编辑
private表示本类成员或变量只有本类中的方法可以调用,也就是说只能在该成员隶属于的类中访问。
public修饰的成员或变量可以被任何类中的任何方法调用。
protected表示父类中写了一个protected的成员或变量,那么只有他的子类才能访问这个成员或变量。
缺省的修饰符的话只能最多同包中的类可以访问,除了这个范围的话就无法访问了。
当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
缺省 √ √ × ×
private √ × × ×
作者:
HM李超
时间:
2013-3-23 16:54
我找到一张较为全面的图,可以解释Java权限修饰符的各种访问范围,希望对你有帮助:
1.jpg
(119.33 KB, 下载次数: 10)
下载附件
2013-3-23 16:47 上传
注:1,包访问控制符是一种特殊的修饰符,不用任何访问控制符就是包访问控制符,
2,对于初始化块和局部成员,它们不能使用任何访问控制修饰符,
3,native修饰抽象方法,一旦java程序中包含native,那么就会失去跨平台性(这个我也不太了解);
4,abstract和final不能同时使用,abstract和static不能同时使用,abstract和private不能同时使用;
作者:
刘凯
时间:
2013-3-23 16:56
我发现你问的问题 视频上都会有详细讲的 ,建议楼主先好好看看视频 不知道了再问啊 。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2