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

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

子车海
2023-03-14
问题内容

以下变量用法之间的区别是什么

public class A{

    B b= new B();

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

VS

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

如果我们在一个班级中只有一个“ b”,那么哪个是更好的做法以及为什么。在什么情况下应该使用谁。


问题答案:

这些实际上有非常不同的含义。在情况1中,在构造b时分配对象A。它只能被构造一次(除非您是在课堂以外的地方重新分配它)。

在情况2中,您将A'sb每次调用该方法时重新分配实例。



 类似资料:
  • 问题内容: 我在阅读PEP 0008(样式指南)时,发现它建议在实例方法中使用self作为第一个参数,而在类方法中使用cls作为第一个参数。 我已经使用并编写了一些类,但从未遇到过类方法(嗯,一种将cls作为参数传递的方法)。有人可以告诉我一些例子吗? 谢谢! 问题答案: 实例方法 创建实例方法时,第一个参数始终为。您可以随意命名,但含义始终相同,并且由于其是命名约定,因此应使用。 (通常)在调用

  • 比如说,我有一个类,有两个形式参数。 现在,我想用具体类型初始化它的一个对象。 我想知道,它们之间有什么区别 和, 因为,他们都不允许我写或读任何东西,除了他们声明的内容。而且,既然泛型只用于确保编译时的类型安全,那么如果我不能对它做任何错误,它为什么会抛出警告呢?

  • 问题内容: 我只是在阅读教科书中给我的课文,我不确定自己是否明白我在说什么。这基本上是在告诉我静态方法或类方法包括关键字“修饰符” static。但是我真的不知道那意味着什么吗? 有人可以简单地向我解释什么是静态方法或类方法吗? 另外,我可以简单解释一下什么是Instance方法吗? 这是他们在教科书中给我的: 存在或不存在静态修饰符具有重要的实际意义。一旦Java处理了它所属的类的定义,就可以调

  • 我只是在看课本上给我的课文,我不是很确定我理解它在说什么。它基本上告诉我静态方法或类方法包含“modifier”关键字static。但我真的不知道那是什么意思? 有谁能用简单的术语给我解释一下什么是静态方法或者类方法吗? 另外,我能得到一个关于实例方法是什么的简单解释吗? 这是他们在课本上给我的: 静态修饰语的存在与否具有重要的实际意义。一个公共类方法可能会在Java处理它所属的类的定义后立即被调

  • 本文向大家介绍SQL中的视图和实例化视图之间的区别,包括了SQL中的视图和实例化视图之间的区别的使用技巧和注意事项,需要的朋友参考一下 我们知道任何数据库的主要组成部分都是它的表,为了使数据可访问性自定义,有了视图的概念,换句话说,我们可以说借助表的视图,我们可以限制任何用户仅访问该数据应该由他访问。现在,基于视图的特征和特征,我们可以区分视图和实体化视图。 以下是视图和实例化视图之间的重要区别。

  • 《Java》中内在类的确切目的及其创作方法。如果我在类中创建方法而不是在内部类中创建那些方法,我能得到相同的行为吗? 我们既可以访问内部类方法,也可以访问外部类之外的实例方法。那么内类在Java的确切目的是什么呢?有没有一种情况/可能性,没有内在的类,我们就无法生存?