的情况是这样follwing如何打破调用不同对象的嵌套方法?
student.studentsPhone.studentsAccount.topUp(xxx)
学生是具有返回类型的手机和电话对象的一个变量,它返回的是终于有型账户的一个变量的方法studentsAccount方法studentsPhone对象所需的方法。
所以我的问题是,如果我有一个学生对象,没有电话,我会得到一个空指针异常。有没有办法切断我们想要的路线?我不想在主类中实例化所有的东西。我将只实例化Student类。
我虽然几种方法
移动的方法了层次结构,但其他对象不会有任何用处的在studentsPhone方法真的
我说,如果
(Phone == null) return;
但其不作废,还有其它方法后studentPhone
http://stackoverflow.com/documentation/java/152/optional/5740/null-进行安全链接#t = 20161201201857268931 – shmosel
另一种解决此问题的方法是使用'null-instance'。一旦一个值被认为是“null”,实例应该被返回,这意味着进一步的操作/方法仍然可以在没有空指针异常的情况下被调用。 – n247s
请认识到这种链接被认为是[code smell](https://sourcemaking.com/refactoring/smells/message-chains),因为你的客户端代码现在依赖于确切的类结构。 –