SIV*_*R.J 9 java inheritance derived-class interface-implementation
java中的extends和implements在性能和内存等方面有什么区别.例如,采取以下方案,
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
}
Run Code Online (Sandbox Code Playgroud)
对于上述场景(1,2),使用extends(派生子类),实现(实现接口)之间的区别是什么.在性能,记忆等方面.?
在一次难忘的问答环节中,有人问James Gosling(Java的发明者):如果你能再次做Java,你会改变什么?.他回答说,我不会上课
Java不允许您扩展多个类.这避免了与多重继承相关的一些问题.但是,您可以选择实现多个接口.这是一个巨大的优势.
有些人还认为extends
降低了代码的灵活性.
但是,我怀疑在性能,效率等方面存在巨大差异.事实上,它们甚至可能产生相同的字节码(尽管我不确定).而且你正在比较具有不同功能的两种不同的东西,就像问苹果是否比橘子更有效.
归档时间: |
|
查看次数: |
17812 次 |
最近记录: |