Java 中的接口和多态性
让我们从讨论 Java 如何定义接口和多态性开始这篇文章,然后,我们将借助编程示例深入探讨这些概念。多态性,顾名思义,意味着多种形式,是对象根据上下文采取不同形式的能力。接口是一种使用关键字"interface"定义的类,只有方法体而没有任何实现。
通过 Java 中的接口实现多态性
在本节中,我们将指导如何使用接口实现多态性。但在此之前,正确理解这些概念很重要。
多态性
在多态性中,我们可以使用父类引用来引用子类。因此,该对象有多种形式:父类引用和子类引用。多态性最流行的两个例子是方法重载(也称为静态多态性),另一个是覆盖(运行时多态性)。
示例
在此示例中,我们将展示 Java 中的编译时多态性是如何工作的。我们将创建两个具有相同名称但具有不同签名的方法。子类的方法将重载父类的方法。方法重载被称为编译时多态性,因为编译器根据给定的参数在编译期间确定方法调用。
class Example1 { // 父类
public void method() {
System.out.println("Tutorialspoint");
}
}
// 创建子类
public class Example2 extends Example1 {
public void method(int id) { // method overloading
System.out.println("ID: " + id);
}
public static void main(String []args){
// 类的对象创建
Example1 exp1 = new Example1();
Example2 exp2 = new Example2();
// 方法调用
exp1.method();
exp2.method(125);
}
}
输出
Tutorialspoint ID: 125
接口
在 Java 中,接口有两个用途:纯抽象和多重继承。通常,接口由抽象方法和变量组成,这些方法和变量定义类可以实现的行为。除了抽象方法和变量之外,接口还可以包含默认方法、常量和静态方法。要创建接口,我们使用关键字"interface",要在类中访问其成员,我们需要在定义该类时使用"implements"关键字。
语法
interface nameOfInterface {
method1();
method2();
}
使用接口实现多态性的 Java 程序
我们先讨论一下方法。
方法
第一步是创建一个仅带有方法声明的接口。
然后,创建两个实现该接口的类并重写其方法以打印不同的消息。
在 main() 方法中,定义接口的一个实例,并使用此实例创建两个类的实例。
现在,使用这些实例调用方法并退出。
示例
interface Message { // 创建接口
public void method(String name); // 方法声明
}
// 实现接口的类
class Example1 implements Message {
String name;
public void method(String name) {
System.out.println("Hello " + name);
}
}
// 另一个实现接口的类
class Example2 implements Message {
String name;
public void method(String name) {
System.out.println("Hello " + name);
}
}
public class PolyExample {
public static void main(String []args){
// 创建接口实例
Message msg;
// 创建实例并将其分配给接口引用
msg = new Example1();
msg.method("Ram"); // 方法调用
msg = new Example2();
msg.method("Shyam"); // 方法调用
}
}
输出
Hello Ram Hello Shyam
结论
我们从定义多态性和接口开始本文。在下一节中,我们通过示例程序详细解释了它们。此外,我们还发现了方法重载和覆盖。最后,我们讨论了一个 Java 程序,演示了如何使用接口实现多态性。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

