Java接口与多态代码
时间: 2023-11-15 13:06:14 浏览: 102
Java接口是一种纯抽象类,它提供了一种规范或契约,要求实现类必须实现所声明的所有方法。多态是指可以使用子类对象来替代父类对象,达到代码复用和扩展的目的。在Java中,多态可以通过抽象类和接口实现。
下面是Java接口和多态的示例代码:
// Java接口示例代码
interface Animal {
public void sound(); // 声明一个抽象方法
}
class Dog implements Animal {
public void sound() {
System.out.println("汪汪汪");
}
}
class Cat implements Animal {
public void sound() {
System.out.println("喵喵喵");
}
}
// 多态示例代码
Animal animal1 = new Dog(); // 父类引用指向子类对象
Animal animal2 = new Cat(); // 父类引用指向子类对象
animal1.sound(); // 输出:汪汪汪
animal2.sound(); // 输出:喵喵喵
相关问题
JAVA 继承、接口与多态
在Java中,继承、接口和多态是面向对象编程的三个重要概念。
继承是指一个类可以从另一个类中继承属性和方法。被继承的类称为父类或超类,继承的类称为子类或派生类。子类可以使用父类中的属性和方法,同时也可以添加自己的属性和方法。
接口则是一种特殊的类,它定义了一组方法的签名而没有具体的实现。通过实现接口,一个类可以表明它支持某些行为或能力。一个类可以同时实现多个接口,从而具备多种能力。
多态则是指同一个方法可以在不同的对象上有不同的实现。在Java中,多态可以通过继承和接口实现。具体来说,子类可以重写父类的方法,从而实现不同的行为;同时,一个类也可以实现多个接口,从而具备多种行为。
继承、接口和多态都是面向对象编程的核心概念,它们可以帮助开发者设计出更加灵活和可扩展的代码结构。
Java头歌接口与多态作业
1. 什么是Java头歌接口?
Java头歌接口是一种特殊的Java类,它只包含常量和抽象方法的定义。常量和抽象方法必须使用关键字“public”进行修饰,而且接口中的方法都是抽象方法,没有方法体。
2. Java头歌接口有什么用处?
Java头歌接口主要有以下两个用途:
(1) 定义规范:接口定义了一种规范,让其他类知道该如何与它进行交互。
(2) 多态应用:接口允许多个类实现同一个接口,从而可以通过一个接口变量来引用不同的实现类对象,实现多态。
3. 什么是多态?
多态是指同一个接口可以有不同的实现方式。在Java中,多态是通过继承和接口实现的。
4. 多态有什么作用?
多态的主要作用在于可以提高代码的可维护性和可扩展性。通过多态,我们可以在不改变原有代码的情况下,动态地替换某个对象的行为,从而实现代码的灵活性和可扩展性。
5. 请用Java头歌接口和多态实现一个图形计算器,能够计算不同形状的面积。
以下是示例代码:
```
interface Shape {
double getArea(); // 计算面积
}
class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
class Rectangle implements Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getArea() {
return width * height;
}
}
public class Calculator {
public static void main(String[] args) {
Shape circle = new Circle(5);
Shape rectangle = new Rectangle(2, 3);
System.out.println("Circle Area: " + circle.getArea());
System.out.println("Rectangle Area: " + rectangle.getArea());
}
}
```
在上述代码中,我们定义了一个Shape接口,包含一个getArea()方法,用于计算面积。然后我们定义了两个实现了该接口的类:Circle和Rectangle。最后在主函数中,我们定义了两个Shape类型的变量,分别指向Circle和Rectangle对象,通过调用getArea()方法计算了它们的面积。由于Shape类型是一个接口类型,因此我们可以通过该类型变量来引用不同的实现类对象,实现多态。
阅读全文