接口和抽象类的代码示例
时间: 2023-11-10 21:00:06 浏览: 75
接口(interface)是一种声明方法但不提供实现的结构,它定义了一组方法的签名,而不是具体的实现。下面是一个接口的代码示例:
```java
public interface Shape {
double getArea();
double getPerimeter();
}
```
抽象类(abstract class)是一种不能被实例化的类,它可以包含抽象方法和非抽象方法。抽象方法是没有具体实现的方法,需要由继承的子类提供具体实现。下面是一个抽象类的代码示例:
```java
public abstract class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public abstract void makeSound();
public void eat() {
System.out.println(name + " is eating.");
}
}
```
相关问题
接口抽象类代码填空题
当我们需要定义一个接口或者抽象类时,可以使用以下的代码模板:
```java
public interface/abstract class 接口名/抽象类名 {
// 常量定义
// 方法声明(不同的接口或者抽象类有不同的方法声明)
// 默认方法(只在接口中使用)
// 静态方法(只在接口中使用)
// 内部类/接口定义(只在抽象类中使用)
}
```
请根据上述模板填写下面的代码:
```java
public interface Animal {
// 常量定义
// 方法声明(不同的动物有不同的方法声明)
// 默认方法(只在接口中使用)
// 静态方法(只在接口中使用)
// 内部类/接口定义(只在抽象类中使用)
}
```
请注意,这只是一个示例模板,实际使用时需要根据具体需求进行适当的修改。
写一个抽象类和接口的代码
在Java中,抽象类和接口用于定义一组规范而不是提供具体的实现。这里是一个简单的例子:
**抽象类示例**:
```java
// 定义一个抽象 Animal 类
public abstract class Animal {
// 抽象方法,没有具体实现
public abstract void sound();
// 具体方法
public void sleep() {
System.out.println("动物正在睡觉");
}
}
// 继承抽象类的具体子类 Dog
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("狗叫汪汪");
}
}
```
在这个例子中,`Animal` 是一个抽象类,它有一个抽象方法 `sound()` 和一个具体方法 `sleep()`。`Dog` 类继承了 `Animal` 并实现了 `sound()` 方法。
**接口示例**:
```java
// 定义一个接口 IAnimal
public interface IAnimal {
// 接口方法
default void sound() {
System.out.println("动物发出声音");
}
// 可选的接口方法
void eat();
}
// 实现接口的类 Cat
public class Cat implements IAnimal {
@Override
public void sound() {
System.out.println("猫喵喵");
}
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
```
在这里,`IAnimal` 是一个接口,包含了一个默认方法 `sound()` 和一个普通方法 `eat()`。`Cat` 类实现了 `IAnimal` 接口并提供了这两个方法的具体实现。
阅读全文