Java 传递和返回不带“quot”的类对象;新";关键词
我是一名Java新手,正在阅读一些与用Java OOP传递类和返回类有关的问题,但不幸的是,我找不到答案。所以我提出我的问题,希望你们能自由分享你们的想法 假设我们有一个关于组合的代码块“一个案例在类“dimension”中定义了某个维度”: 问题1:在AAA行,我们将“Dimensions”作为参数传递给构造函数,为什么不使用“new”关键字来实例化对象 问题2:在BBB行,我们返回“维度”,为什么不使用“returnnewdimensions”返回一个对象。在一些文章中,我看到他们使用了。那么在哪些情况下我们应该使用“new”,哪些不应该使用Java 传递和返回不带“quot”的类对象;新";关键词,java,oop,object,Java,Oop,Object,我是一名Java新手,正在阅读一些与用Java OOP传递类和返回类有关的问题,但不幸的是,我找不到答案。所以我提出我的问题,希望你们能自由分享你们的想法 假设我们有一个关于组合的代码块“一个案例在类“dimension”中定义了某个维度”: 问题1:在AAA行,我们将“Dimensions”作为参数传递给构造函数,为什么不使用“new”关键字来实例化对象 问题2:在BBB行,我们返回“维度”,为什么不使用“returnnewdimensions”返回一个对象。在一些文章中,我看到他们使用了。那
谢谢。示例中的
维度
实例是在案例
类之外构建的
例如,该类的可能用法可以是:
Dimensions dim = new Dimensions ();
Case c = new Case ("something", dim);
后来
Dimensions d = c.getDimensions();
如您所见,我们正在将对Dimensions
对象的引用传递给Case
构造函数。Case
构造函数将该引用存储在实例变量(Dimensions
)中,稍后我们可以调用getDimensions()
方法以获得该引用
仅当您想要构造类的新对象时,才使用new
关键字
问题1:在AAA行,我们将“维度”传递到
构造函数作为参数,为什么不使用“new”关键字来创建实例
反对
通常,您会传入一个已创建的对象,如图所示:
String model = "myModel";
Dimensions dim = new Dimensions();
Case case = new Case(model, dim);
因此,现在case对象的dimensions变量将保存对通过构造函数传递的dimension对象的引用
问题2:在BBB行,我们返回“维度”,为什么不使用“返回”
“新维度”返回一个对象。在一些文章中,我看到它们使用。
那么,在哪些情况下我们应该使用“新”,哪些不应该使用
方法getDimensions()
是一个getter方法,这意味着我们需要获取此
对象维度的值。因此返回新维度对象没有意义。要获取上面创建的案例
对象的维度,您可以使用:
Dimensions caseDimension = case.getDimensions();
我想补充你的子问题的答案: 在一些文章中,我看到他们使用 假设您的
案例中有一个方法
,其目的是以某种方式更改维度并返回它,例如
公共维度拉伸()
。
在这种情况下,您可以使用
返回新维度();
因为我们已经在传递一个完全构造的对象或实例。谢谢你的回答。只是想确保我正确理解你的回答,+将一些东西传递到构造函数/方法的参数中:它们应该是引用?比如公共字符串getMoney(字符串名)(a)将某物传递到构造函数/方法的参数中:它们应该是引用?--否。如果它是一个原语(如int等),那么就没有引用/对象的概念。(b)公共字符串getMoney(字符串名称)@LearningandWorking:
Dimensions caseDimension = case.getDimensions();
public Dimensions stretch(//some arguments){
this.dimensions = new Dimensions(//args);
return dimensions;
}