在Student中已经定义过的sid,age,name和adress但是到了StudentManager里面却只有adress能使用了,这是为啥
JAVA学习中遇到的一些问题
在Student中已经定义过的sid,age,name和adress但是到了StudentManager里面却只有adress能使用了,这是为啥
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 【以下回答由 GPT 生成】
回答:
首先,让我们先来看一下你在Student类中定义的变量是否有适当的访问修饰符。在JAVA中,如果没有指定访问修饰符,默认情况下是包级私有(package-private),这意味着只有在同一个包内的类才可以访问这些变量。
让我们假设你的Student类定义如下:
public class Student { private int sid; private int age; private String name; String address; // 注意:这里没有指定访问修饰符,默认为包级私有 // ... 省略其他代码 }
现在,假设你的StudentManager类与Student类不在同一个包内,那么在StudentManager类中就只能访问到Student类中的公共(public)部分,也就是address变量。
为了解决这个问题,你可以在Student类中使用public对sid、age和name进行修饰,这样就可以在StudentManager类中访问到这些变量了。例如:
public class Student { public int sid; public int age; public String name; String address; // ... 省略其他代码 }
如果你无法改变Student类中的访问修饰符,那么你可以考虑将StudentManager类移动到与Student类同一个包内,这样就可以访问到Student类中的包级私有变量了。
希望这能帮助你解决问题!
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥66 换电脑后应用程序报错
- ¥50 array数据同步问题
- ¥15 pic16F877a单片机的外部触发中断程序仿真失效
- ¥15 Matlab插值拟合差分微分规划图论
- ¥15 keil5 target not created
- ¥15 C/C++数据与算法请教
- ¥15 怎么找志同道合的伙伴
- ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
- ¥50 爬虫预算充足,跪巨佬
- ¥15 滑块验证码拖动问题悬赏