主方法中验证 getStudentSubject() 方法
你好! 我要问下如果没有实例化的情况下,如何在主方法中验证截图中的 get 方法?
46
收起
正在回答 回答被采纳积分+1
3回答
小干部_洋气
2017-04-21 22:40:58
/** * 获取专业对象 ,如果专业对象没有实例化,先实例化再返回 * @return stuSubject 专业对象信息 */ public Subject getStuSubject() { // Student.java if (this.stuSubject == null) { this.stuSubject = new Subject(); } return stuSubject; }
上面这段代码中 “如果专业对象没有实例化”的意思是不是就是 main 方法中没有下面这行代码。
public class SchoolTest { public static void main(String[] args) { Subject sub = new Subject("计算机科学与应用","J0001",4); } }
如果是这样理解的话,那 getStuSubject() 方法中的判断有何意义?在什么场景下可用到?
因为我将 main 方法写成如下代码都会进行报错:
public class SchoolTest { public static void main(String[] args) { Subject sub; // 声明一个对象,不实例化,想以此测试上面的 getStuSubject() Student stu1 = new Student(); // 实例化 stu1 对象 stu1.setStuSubject(sub); // 调用 setStuSubject 报错 Student stu2 = new Student("S01","张三","sdf",200,sub); // 实例化 stu2 对象报错
ps : 这里是我对实例化与初始化概念不清吗?
irista23
2017-04-21 10:44:45
// 验证get()方法 public void checkGetMethod() { // 定义一个局部变量用来验证调用过get()方法后成员变量studentSubject会不会为NULL Subject temp = getStudentSubject(); if (temp != null) { System.out.println("get()方法成功,实例成功!"); } else { System.out.println("get()方法失败,没有实例成功!"); } }
可以试一下上面的代码,看看是否是你想要的,祝学习愉快!
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星