使用访问控制修饰符
一、类的访问控制修饰符
在定义类时,有时会在类的前面加上关键字public,示例代码如下:
public class Customer{
String name;
String sex;
int age;
}
在不写public的情况下属于默认访问修饰,此时该类只能被同一包中的所有类识别。
如果写了public ,该类则是一个公共类,可以被包内、包外的所有类识别。
注意:如果将一个类定义成public类,类名和文件名必须相同,因此在一个 .java文件中最多只能有一个public类。
二、成员的访问控制修饰符
对于成员来说,访问控制修饰符共有 4 个,分别是 private 、default 、protected 、public ,示例代码如下:
public class Customer{
private String name;
String sex;
protected int age;
public void display(){}
}
name 成员为 private 类型,sex 成员为default 类型,age 成员为 protected 类型,displsy 成员为 public 类型。其中,default 类型的成员前面没有任何修饰符。
其特征如下:
1、private 类型成员只能在定义它的类的内部被访问。
2、default 类型的成员可以在定义它的内部被访问,也可以被这个包中的其他类访问。
3、protected 类型的成员可以在定义它的类的内部被访问,也可以被这个包中的其他类访问,还可以被包外的子类访问。
4、public 类型的成员可以在定义它的类的内部被访问,也可以被包内、包外的所有其他类访问。
很明显,从开放的程度上讲, private < default < protected < public。
使用类中类
类中类,顾名思义是在类中定义了类,也称为内部类。
注意:
1、内部类中的成员只在内部类范围内才能使用,外部类不能像使用自己的成员变量一样使用它们。
2、如果在内部类中使用 this ,仅代表内部类的对象,因此也只能引用内部类的成员。