当前位置: 首页 > 面试题库 >

在构造函数之外的方法中在构造函数中使用变量

齐嘉庆
2023-03-14
问题内容

如果我有一个像这样的构造函数:

    public Constructor (int a, int b){

        int c =  a;
        int d =  b; 
    }

然后,我如何在与构造函数相同的类中的方法中使用变量c和d,因为尝试仅在方法中使用变量名似乎不起作用?


问题答案:

实际上,您的代码将无法编译- int c = int a无效。

我认为您的意思是:- int c = a;

然后我如何在与构造函数相同的类中的方法中使用变量c和d

您不能这样做,因为您已将它们声明为局部变量,其范围在构造函数结束执行时终止。

您应该将它们声明为实例变量。

public class MyClass {
    int c;
    int d;

    public MyClass(int a, int b){

        this.c = a;
        this.d = b; 
    }

    public void print() {
        System.out.println(c + " : " + d);
    }
}


 类似资料:
  • 前面提到的代码是从MDN修改的。这段代码没有任何意图,只是为了变量声明示例的目的。

  • 问题内容: 简单的问题。一位内心的朋友编写了与此代码类似的代码(这只是为了向您解释我的问题,根本没有用…。) 我告诉他他应该把构造函数放进去 当他问我为什么时,我不知道该怎么回答:除了“这样更好”之外,我没有明确的论点。以我的学习方式,您可以使用基本类型(int,double …)初始化变量,但对于数组,则应在构造函数中进行初始化。 所以: 真的更好吗? 是否有一些很好的理由:约定,样式? 它会改

  • 所以我正在我的Java项目(Google Guice)中实现一个依赖注入框架,一切都很好,我喜欢它,但是有一个小问题;我想为我的主项目的类创建一个静态实例(实例化依赖项等)。但是我不知道使用Guice实例化它的任何方法,我不能手动实例化它,因为我在它的构造函数中使用DI(我在构造函数中有对象),这意味着我不能访问实例化该类所需的类的非静态变量。我试着使用一个提供者,但是我真的不明白在哪里绑定它,因

  • 我是莫基托的新手。假设我有一节这样的课 我正在使用Mockito编写一个JUnit测试,我正在使用构造函数创建类的对象。当我安装类时,是否可以模拟Drew()方法?

  • 我刚刚开始用Java编程。在讨论方法和构造函数时,我们使用的文本是缺乏的。我不确定方法或构造函数到底是什么,也不确定是什么让它们独一无二。有人能帮我定义它们并区分两者吗?

  • JavaScript 中的构造函数和其它语言中的构造函数是不同的。 通过 new 关键字方式调用的函数都被认为是构造函数。 在构造函数内部 - 也就是被调用的函数内 - this 指向新创建的对象 Object。 这个新创建的对象的 prototype 被指向到构造函数的 prototype。 如果被调用的函数没有显式的 return 表达式,则隐式的会返回 this 对象 - 也就是新创建的对象