我可以在其他类中使用已声明的对象,而无需再次声明该对象吗?

时钟19

我最近才开始学习Java,但遇到了一个问题。我有一些通过类构造函数创建的对象,并且我想在其他类中使用这些声明的对象。对象的内容通过变量设置。

因此,一个简单的解决方案是将变量设置为静态,然后通过在另一个类中调用它们(仅作为示例)

 Originalclass.staticVariable

并以此作为我的参数。

因此,可以说我的原始类是Firstclass,我要创建的对象称为superObject,而要应用于我的对象的变量称为variableIneed。如果要在另一个类中创建对象,则输入

 Firstclass superObject = new Firstclass(Firstclass.variableIneed);

这可行,但我想知道,是否可以在原始类中创建对象,然后在其他类中使用它?这样做有好处吗?

很抱歉,如果这是一个重复的问题或不够具体,这是我的第一篇文章。:)

如果我的代码可以帮助回答我的问题,我将很乐意提出,但是由于我的代码很好,所以我觉得这与所要询问的内容无关。

用户名

如果在类中创建对象,则通常不希望通过简单地将其设置为“共享所创建的对象” static(尤其是当您不确定static的含义时)。

不要滥用staticstatic成员实际上属于类本身,而不是特定对象。因此,在开始将变量声明为之前static,您要考虑它是属于该类的属性吗?还是属于单个对象的属性?

此外static,所有对象之间共享更多变量。(您只有一个副本)。因此,如果您在许多其他类之间共享它,则它的值可能会从“共享”到的任何一个类的值中更改,从而使您的类紧密耦合(并且您想避免这种情况)。

除非对象属于该类,并且它可能是一个常量(声明为final),否则您可能不想通过将其声明为来共享它static

这可行,但我想知道,是否可以在原始类中创建对象,然后在其他类中使用它?这样做有好处吗?

如果我是你,并且需要与其他类“共享”我的对象,我将通过一个方法(getter方法)传递它。

范例:

class Car{
    private Engine engine;

    //Constructor not shown

    //a getter method
    public getEngine(){
        return engine;
    }
}

class Runner{
    public static void main(String[] args){
        Car c = new Car();
        Engine engine = car.getEngine();  //retrieve engine from car (for whatever use)
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在其他类的main内部使用声明和分配的变量吗?

来自分类Dev

我可以将内部类声明为静态类并访问它而无需在周围的类中创建对象吗?

来自分类Dev

对象可以使用在其类之外声明的全局变量吗?

来自分类Dev

我可以在C ++中全局声明类对象吗?

来自分类Dev

我可以在其他函数中使用本地“ this”吗?

来自分类Dev

Oracle SQL:声明变量并在其他查询中使用该变量

来自分类Dev

我可以在前向声明的类中使用类型吗?

来自分类Dev

声明一个实现接口的对象,而无需显式使用特定类

来自分类Dev

调试:如何“潜入”在类中声明的其他类对象

来自分类Dev

我可以在Paint事件以外的任何其他事件中使用Graphics对象吗?

来自分类Dev

我正在尝试将 getTemp 变量声明为全局变量,以便我可以在其他函数中使用它。Vue.js

来自分类Dev

仅在其他软件包中使用变量时,如何避免“已声明且未使用”?

来自分类Dev

修改其他类中声明的对象的最佳方法(Java)

来自分类Dev

在其他对象的方法中使用对象

来自分类Dev

为什么我允许“直接访问”对象的受保护字段,该对象的类在其他包中定义?

来自分类Dev

如何在其他类中使用参数化构造函数创建类的对象?

来自分类Dev

是否可以在其他类的事件上更新对象?

来自分类Dev

我可以将TCriticalSection对象声明为公共类字段吗?

来自分类Dev

我可以在Scala中声明其伴随对象内的类吗?

来自分类Dev

我可以在C ++中自动在对象声明上调用类的方法吗?

来自分类Dev

如何使用我在其他类中的 Startup 类中构建的 IConfiguration 对象?

来自分类Dev

这样可以声明为全局对象类吗?

来自分类Dev

我可以通过访问该对象中的其他值来设置该对象的值吗?

来自分类Dev

为什么我需要在Python中复制类实例,而无需复制其他对象类型?

来自分类Dev

为什么访问不用`var`声明的变量而不必在其他文件中使用`require`就可以工作呢?

来自分类Java

从Java中的ArrayList中删除在其他类中使用的对象

来自分类Java

如何在其他类中使用方法而不创建新对象

来自分类Javascript

我可以预先声明变量以破坏对象分配吗?

来自分类Dev

使用与其他相同的键声明对象

Related 相关文章

  1. 1

    我可以在其他类的main内部使用声明和分配的变量吗?

  2. 2

    我可以将内部类声明为静态类并访问它而无需在周围的类中创建对象吗?

  3. 3

    对象可以使用在其类之外声明的全局变量吗?

  4. 4

    我可以在C ++中全局声明类对象吗?

  5. 5

    我可以在其他函数中使用本地“ this”吗?

  6. 6

    Oracle SQL:声明变量并在其他查询中使用该变量

  7. 7

    我可以在前向声明的类中使用类型吗?

  8. 8

    声明一个实现接口的对象,而无需显式使用特定类

  9. 9

    调试:如何“潜入”在类中声明的其他类对象

  10. 10

    我可以在Paint事件以外的任何其他事件中使用Graphics对象吗?

  11. 11

    我正在尝试将 getTemp 变量声明为全局变量,以便我可以在其他函数中使用它。Vue.js

  12. 12

    仅在其他软件包中使用变量时,如何避免“已声明且未使用”?

  13. 13

    修改其他类中声明的对象的最佳方法(Java)

  14. 14

    在其他对象的方法中使用对象

  15. 15

    为什么我允许“直接访问”对象的受保护字段,该对象的类在其他包中定义?

  16. 16

    如何在其他类中使用参数化构造函数创建类的对象?

  17. 17

    是否可以在其他类的事件上更新对象?

  18. 18

    我可以将TCriticalSection对象声明为公共类字段吗?

  19. 19

    我可以在Scala中声明其伴随对象内的类吗?

  20. 20

    我可以在C ++中自动在对象声明上调用类的方法吗?

  21. 21

    如何使用我在其他类中的 Startup 类中构建的 IConfiguration 对象?

  22. 22

    这样可以声明为全局对象类吗?

  23. 23

    我可以通过访问该对象中的其他值来设置该对象的值吗?

  24. 24

    为什么我需要在Python中复制类实例,而无需复制其他对象类型?

  25. 25

    为什么访问不用`var`声明的变量而不必在其他文件中使用`require`就可以工作呢?

  26. 26

    从Java中的ArrayList中删除在其他类中使用的对象

  27. 27

    如何在其他类中使用方法而不创建新对象

  28. 28

    我可以预先声明变量以破坏对象分配吗?

  29. 29

    使用与其他相同的键声明对象

热门标签

归档