小编lie*_*ies的帖子

Singleton类有几个不同的类加载器

例如,我有Singleton静态字段的类instance:

public class Singleton {

    private static Singleton instance;

    // other code, construct, getters, no matter    
}
Run Code Online (Sandbox Code Playgroud)

我可以用两个不同的类加载器加载这个类两次.我怎么能避免它?这是不安全和危险的.

另外,如果我将实例设置为null,它是否会为两个类设置为null?

Singleton singleton = Singleton.getInstance();
singleton = null;
Run Code Online (Sandbox Code Playgroud)

java singleton classloader

14
推荐指数
1
解决办法
2万
查看次数

Java中的继承如何工作?

我们有下一堂课:

class Super {
    void foo() {
        System.out.println("Super");
    }
}

class Sub extends Super {
    void foo() {
        super.foo();
        System.out.println("Sub");
    }
}

public class Clazz {
    public static void main(String[] args) {
        new Sub().foo();
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

问题:

什么super礼物?它是父类的对象,哪个孩子保持为字段?

  • 如果是,抽象类的继承如何工作?您无法创建抽象类的实例.
  • 如果不是,那么被覆盖的方法在哪里举行?

我试过谷歌,但我找到的只是关于如何继承类等的常见信息.

更新:

你还在告诉我显而易见的事情.也许我的问题有点误导,但我会试着改写它:

  • 当我们调用方法时super,你说,我们正在访问父方法.但是如何在没有父对象的情况下调用此方法呢?
  • super一样的thisthis如你所知,是对具体对象的引用.

java inheritance

8
推荐指数
1
解决办法
4643
查看次数

为什么我们不能捕获Java中的错误?

我知道,这会损害应用程序的性能,但是我们不应该围绕代码区域,因为这些区域确实存在风险

try {
    // code        
} catch (OutOfMemoryError ex) {
    // handling code
}
Run Code Online (Sandbox Code Playgroud)

它看起来很安全.

来自docs:

Error是Throwable的子类,表示合理的应用程序不应该尝试捕获的严重问题.

为什么不?

java error-handling

3
推荐指数
1
解决办法
9932
查看次数