java中的四个修饰词(访问权限)
Java类成员的访问控制权限
有了之后,下⾯就可以开始为读者讲解 JAVA 语⾔之中的访问控制权限的概念了。在 JAVA 中有四种访问控制权限,分别为:private、default、protected、public。
1、 private 访问控制符
在前⾯已经介绍了 private 访问控制符的作⽤,如果⼀个成员⽅法或成员变量名前使⽤了 private 访问控制符,那么这个成员只能在这个类的内部使⽤。
注意:不能在⽅法体内声明的变量前加 private 修饰符。
2、默认访问控制符
如果⼀个成员⽅法或成员变量名前没有使⽤任何访问控制符,就称这个成员所拥有的是默认的(default)访问控制符。默认的访问控制成员可以被这个包中的其它类访问。如果⼀个⼦类与其⽗类位于不同的包中,⼦类也不能访问⽗类中的默认访问控制成员。
3、 protected 访问控制符
如果⼀个成员⽅法或成员变量名前使⽤了 protected 访问控制符,那么这个成员既可以被同⼀个包中的其它类访问,也可以被不同包中的⼦类访问。
3、 protected 访问控制符
如果⼀个成员⽅法或成员变量名前使⽤了 protected 访问控制符,那么这个成员既可以被同⼀个包中的其它类访问,也可以被不同包中的⼦类访问。
4、 public 访问控制符
如果⼀个成员⽅法或成员变量名前使⽤了 public 访问控制符,那么这个成员可以被所有的类访问,不管访问类与被访问类是否在同⼀个包中。
对于 private、default、public 三种控制权限,前⾯已经为读者介绍过了,下⾯的范例为读者讲解 protected 关键字的使⽤⽅法:
范例:Person.java
01 package demo.java.a
02
03 public class Person
04 {
05 protected String name
06 public String talk()
07 {
08 return "Person —— >> talk()"
09 }
10 }
程序说明:
程序第 5 ⾏声明⼀ String 类型的属性 name,该变量⽤ protected 关键字声明,所以此属性只能在本类及其⼦类中使⽤。
范例:Student.java
01 package demo.java.b
02 import demo.java.a.*
03
04 public class Student extends Person
05 {
06 public Student(String name)
07 {
08 this.name = name
09 }
10 public String talk()
11 {
12 return "Person —— >> talk() , "+this.name
13 }
14 }
程序说明:
1、程序第 2 ⾏,导⼊ Person 类。
2、程序第 4 ⾏ Student 类继承⾃ Person 类
3、程序第 8 ⾏ Student 类访问了 Person 类中的 name 属性
范例:TestPackage4.java
01 package demo.java.c
02 import demo.java.b.*
03
04 class TestPackage4
05 {
06 public static void main(String[] args)
07 {
08 Student s = new Student("javafans")
09 s.name = "javafans"
10 System.out.println(s.talk())
11 }
12 }
编译结果:
TestPackage4.java:9: name has protected access in demo.java.a.Person
s.name = "javafans"java类的概念
^
1 error
可以发现,在程序第 9 ⾏,通过对象调⽤受保护的属性,所以程序在编译时 JDK 会报错。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论