gpt4 book ai didi

java - java中的 "extends"和 "implements"在性能和内存等方面有什么区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:55 24 4
gpt4 key购买 nike

Java 中的extendsimplements 在性能和内存等方面有什么区别?例如采取以下场景,

1)

public interface PrintResult
{
public final int NO_ERROR=0;
public final int SUCCESS=1;
public final int FAILED=-1;
}


public class PrintProcess implements PrintResult
{
//Perform some operation
}



2)

public class PrintResult
{
public final int NO_ERROR=0;
public final int SUCCESS=1;
public final int FAILED=-1;
}


public class PrintProcess extends PrintResult
{
//Perform some operation
}

对于上述场景(1,2),使用extends(派生子类)和implements(实现接口(interface))有什么区别。关于性能,内存等。 ?

最佳答案

During a memorable Q&A session, someone asked James Gosling (Java's inventor): If you could do Java over again, what would you change? . I'd leave out classes, he replied

Java 不允许您扩展多个类。这避免了与多重继承相关的一些问题。但是您可以选择实现多个接口(interface)。这是一个巨大的优势。

有些人还认为 extends 降低了他们代码的灵 active 。

但是,我怀疑在性能、效率等方面是否存在任何巨大差异。事实上,它们甚至可能生成相同的字节码(尽管我不确定)。您正在比较两种具有不同功能的不同事物,就像问苹果是否比橙子更高效。

关于java - java中的 "extends"和 "implements"在性能和内存等方面有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9546188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com