我对这件事情仍然有些困惑.我到现在所发现的是
(这里已经提出了类似的问题,但我还有其他一些观点.)
接口是仅抽象方法和最终字段的集合.
Java中没有多重继承.
接口可用于在Java中实现多重继承.
继承的一个优点是我们可以在派生类中使用基类代码而无需再次编写它.可能这是继承在那里最重要的事情.
现在..
Q1.由于接口只有抽象方法(没有代码)所以我们怎么说如果我们实现任何接口那么它是继承?我们没有使用它的代码.
Q2.如果实现接口不是继承,那么如何使用接口来实现多重继承?
Q3.无论如何使用Interfaces有什么好处?他们没有任何代码.我们需要在我们实现它的所有类中反复编写代码.
那么为什么要制作接口呢?
注意:我找到了一个接口有用的案例.它的一个例子就像在Runnable接口中我们有public void run()方法,我们在其中定义线程的功能,并且内置编码,该方法将作为单独的线程运行.所以我们只需要编写线程中的代码,Rest是预定义的.但是这个东西也可以用抽象类和所有东西来实现.
那么使用接口的确切好处是什么?我们使用Interfaces实现了多重继承吗?
由于我已经找到了很多关于方法重载的例子和结论,但我仍然在实时混淆我们如何使用它.
首先,方法重载是一个类级活动意味着在该类中我们正在重载一个具有相同名称但不同参数的方法
void sum(int a,int b){System.out.println(a+b);}
void sum(double a,double b){System.out.println(a+b);}
Run Code Online (Sandbox Code Playgroud)
在我们调用这个方法之后
public static void main(String args[]){
ClassName obj=new ClassName ();
obj.sum(10.5,10.5);
obj.sum(20,20);
}
Run Code Online (Sandbox Code Playgroud)
假设不是这个,我将采取两个单独的方法,如
void method1(int a,int b){System.out.println(a+b);}
void method2(double a,double b){System.out.println(a+b);}
Run Code Online (Sandbox Code Playgroud)
我将这两种方法称为上述相同的方法
public static void main(String args[]){
ClassName obj=new ClassName ();
obj.method1(20,20);
obj.method2(10.5,10.5);
}
Run Code Online (Sandbox Code Playgroud)
在两种方法的情况下,活动都是相同的,那么在这种情况下,重载/多态的确切需要是什么.
在某处我发现方法重载增加了程序的可读性,任何人都可以指定只因为这行我们正在使用方法重载.
谢谢.