抽象类、抽象方法、接口

Java 中的抽象类、抽象方法和接口关系

抽象类(Abstract Class)

抽象类是一种不能被实例化的类,它通常用于作为其他类的基类。抽象类可以包含抽象方法和非抽象方法。

特点:

  • 不能被实例化。
  • 可以包含构造方法。
  • 可以包含抽象方法和非抽象方法。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public abstract class Animal {
int age;

public Animal(int age) {
this.age = age;
}

// 抽象方法
public abstract void makeSound();

// 非抽象方法
public void sleep() {
System.out.println("Animal is sleeping");
}
}

抽象方法(Abstract Method)

抽象方法是在抽象类中声明但没有实现的方法,需要在具体的子类中实现。

特点:

  • 只有声明,没有实现。
  • 必须在抽象类中。

示例:

1
2
3
4
public abstract class Animal {
// 抽象方法
public abstract void makeSound();
}

接口(Interface)

接口是一种完全抽象的类,它定义了一组抽象方法,而不包含任何实现。类可以通过实现接口来获得接口定义的功能。

特点:

  • 完全抽象,不包含任何实现。
  • 类可以实现多个接口。
  • 接口中的方法默认为public abstract

示例:

1
2
3
4
5
6
7
8
9
10
11
public interface Drawable {
// 抽象方法
void draw();
}

public class Circle implements Drawable {
// 实现接口方法
public void draw() {
System.out.println("Drawing a circle");
}
}

抽象类和接口的关系

  • 一个类可以同时继承抽象类并实现多个接口。
  • 抽象类可以包含实例变量,而接口只能包含常量。
  • 抽象类的方法可以有各种访问修饰符,而接口的方法默认为public
1

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 buynonsense
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信