Java:为什么我可以读取私有属性?
这可能是一个愚蠢的问题,但我想知道为什么即使使用了私有修改器,我仍然可以读取半径和年龄属性。我认为如果不使用getter和setter,我既不能读取也不能实例化这些修改过的属性Java:为什么我可以读取私有属性?,java,attributes,modifier,Java,Attributes,Modifier,这可能是一个愚蠢的问题,但我想知道为什么即使使用了私有修改器,我仍然可以读取半径和年龄属性。我认为如果不使用getter和setter,我既不能读取也不能实例化这些修改过的属性 public class Test { private int radius = 3; private int age; public static void main(String[] args) { Test a = new Test(); System.ou
public class Test {
private int radius = 3;
private int age;
public static void main(String[] args) {
Test a = new Test();
System.out.println(a.radius);
System.out.println(a.age);
}
}
private
仅表示不能从类外部直接访问这些变量。类内部的所有方法都可以自由使用变量。声明为私有的方法、变量和构造函数只能在声明的类内部访问
私有访问修饰符是限制最严格的访问级别。如果类中存在公共getter方法,则可以在类外部访问声明为private的变量
使用private修饰符是对象封装自身并向外界隐藏数据的主要方式。因为您是从类内部读取数据的
main
在Test
的范围内,即使它是静态的。私有成员可供类使用,而不可供其他类使用。