在我的类AccountService中,它是静态的AccountDao,这也是类,为什么我们需要声明为静态,我知道我们将使用它来访问
classname.staticfield访问类中的所有位置,但与其他类对象一起声明为static的用途是什么?提前致谢

 public class AccountService {

private static AccountDao accountinfo;

public AccountService() {
    accountinfo = new AccountDao();
} }

最佳答案

静态成员由类的所有实例共享。在您的示例中,所有AccountService实例只能访问一个称为AccountDaoaccountinfo实例。

我不知道为什么要在您的情况下执行此操作。更糟的是,每次创建新的AccountService实例时,都会再次实例化accountinfo。这意味着,一旦创建了accountinfo的另一个实例,较旧的实例就无法引用AccountService的原始对象。

通常,使用静态成员的原因有很多,例如逻辑(1:n关系),性能(所有对象共享一个资源)。不管是什么原因:要小心何时以及如何(重新)实例化一个静态成员,因为该类的所有对象可能希望在不同时间使用该成员。

07-24 15:48