遥不可及的AK 2024-01-23 21:08 采纳率: 90%
浏览 4
已结题

JAVA学习中遇到的一些问题

img

img

img


在Student中已经定义过的sid,age,name和adress但是到了StudentManager里面却只有adress能使用了,这是为啥

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-25 01:16
    关注

    【以下回答由 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类中的包级私有变量了。

    希望这能帮助你解决问题!


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月3日
  • 已采纳回答 1月26日
  • 创建了问题 1月23日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏