is not visible 不可见
问题:
按照教材示例代码,最后一种情况,在类内定义没有初始化,在测试类的main方法中调用时赋值,没有显示正确结果,已赋值,为什么报错不可见?
相关代码:
Company2_8
package com.imooc.model;
//公司类
public class Company2_8 {
String name; //公司名
String address; //公司地址
public Company2_8(String name,String address) {
this.name=name;
this.address=address;
}
}Staff2_8
package com.imooc.model;
//员工类
public class Staff2_8 {
int age; // 员工年龄
String name; // 员工姓名
Company2_8 comp; // 所在公司
//Company2_8 comp=new Company2_8("不知道啥公司","不知道啥位置");
public Staff2_8(int age, String name) {
this.age = age;
this.name = name;
if (this.comp == null)
comp = new Company2_8("不知道啥公司", "不知道啥位置");
}
public void display() {
System.out.println(
"姓名:" + this.name + "\n年龄:" + this.age + "\n所在公司:" + this.comp.name + "\n公司地址:" + this.comp.address);
}
}Test2_8
package com.imooc.test;
import com.imooc.model.Company2_8;
import com.imooc.model.Staff2_8;
public class Test2_8 {
public static void main(String[] args) {
Company2_8 cp=new Company2_8("Esint","南开区");
Staff2_8 st=new Staff2_8(30,"王五");
st.comp=cp;
st.display();
}
}18
收起
正在回答 回答被采纳积分+1
1回答
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星