问一个关于构造方法的问题

图中goddess g是有自己的实体类的,但是为啥他没用new ,就能用对象直接使用get方法?图片说明

这个代码就是这样规定的,编译器没有那么智能,它不知道你要传过来的东西是个null还是一个真正的goddess对象,所以都默认是一个真正的goddess对象,可以使用它所有的方法和属性,但到了真正用的时候,它就知道你传过来的是不是一个null了,如果是,它这时候就会报空指针异常,所以如果不确定一定不会有null,建议加上一个判断,或是在外面调用这个方法的时候判断一下goddess是不是null,这样就不会播报错了。

goddess g 这个是形参 等调用这个方法是就会给他赋值 就等同与new

如: godess g = new goddess();
//调用这个方法
addGoddess(g);//这个过程相当于给g new 了