java - 类级别实例化与方法实例化之间的区别

标签 java class variables

以下变量用法有什么区别

public class A{

    B b= new B();

    public void doSomething()
    {
        b.callme();
    }
}

对比

public class A { 
    B b;
    public void doSomething() {
        b=new B(); 
        b.callme();
    }
}

如果我们在一个类中有单个“b”,那么哪个是更好的练习,为什么。 在什么情况下使用。

最佳答案

这些实际上有非常不同的含义。在案例 1 中,b A 时分配对象被构造。它只构造一次(除非您从类外的某个地方重新分配它)。

在情况 2 中,您正在重新分配 A's b 的实例每次调用方法时

关于java - 类级别实例化与方法实例化之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15224734/

相关文章:

java - 是否需要堆来存储常量(Java 对象)?多少钱?

Java:Override 注释对现代 IDE 没用吗?

java - Minio Gradle 依赖 android javax.annotation.CheckReturnValue

java - 如何在每次不按回车的情况下获得输入?

bash - 将多行 var 回显到 Grep

java - 将数组值设置为等于 Java 动态加载类中的变量

Jquery 删除类添加到下一个

c++ - 有没有办法使类递归?

Java从其他文件导入

php - 用 PHP 删除 GET 变量的好方法?