gpt4 book ai didi

java - 对象引用能够直接访问私有(private)数据成员

转载 作者:行者123 更新时间:2023-12-01 06:32:49 24 4
gpt4 key购买 nike

public class College{ 
int year;
String name;
College(int year,String name){
year=year;
name=name;
}

public static void main(String[] args) {
College first=new College(1998,"BITS");
System.out.println("The year is:"+first.year);
System.out.println("The name is:"+first.name);
}
}

我的输出是:年份是0名称为 null

这是怎么回事?据我所知,对象首先不能直接访问私有(private)数据成员。

最佳答案

发生这种情况是因为您在构造函数内隐藏了 yearname 字段。

使用其中之一:

  College(int year,String name){ 
this.year=year;
this.name=name;
}

或者:

  College(int y,String n){ 
year=y;
name=n;
}

我更喜欢第一个选项。

顺便说一句,这些字段不是私有(private)的,因为您没有将它们声明为一个,并且默认值为package。即使您将它们设置为私有(private),属于类的静态方法也可以看到私有(private)成员变量。

关于java - 对象引用能够直接访问私有(private)数据成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16757229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com