Java中的访问控制符一共有四个,分别是private 有好的(不写控制符,默认的) protected public
1.private是最小的访问权限控制符,其修饰的成员变量(属性)、构造方法(功能)和普通方法只能在定义它们的类中被操作或使用;只能在本类中使用。
2.默认(友好的)修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以使子类)中使用;
3.protected修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;
注意:protected在不同包的继承关系中:如果protected修饰的属性和方法均为非静态的,则只能通过子类实例化对象调用其继承过来的属性和方法,而不能使用父类实例化的对象去调用;如果protected修饰的属性和方法均为静态的,则子类可以通过类(子类类名或父类类名)名直接调用,也可以创建对象调用。
4.public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;
例如:
父类
package com.ghj.test;
public class Person{
int age=10;
}
子类
package cn.edu.haut.student;
import com.ghj.test.Person;
public class Father extends Person {
public static void main(String[] args) {
Person person = new Person();
Father father = new Father();
System.out.println(father.age);
}
}