gpt4 book ai didi

java - 如何以及何时使用抽象类

转载 作者:IT老高 更新时间:2023-10-28 20:56:05 25 4
gpt4 key购买 nike

这是我的 Java 测试程序。我想知道这里有多少抽象类更重要,以及为什么我们为此使用抽象类。

这是强制性的还是最好的方法;如果有怎么办?

class Shape1 {
int i = 1;
void draw() {
System.out.println("this is shape:" + i);
}
}

class Shape2 {
int i = 4;
void draw() {
System.out.println("this is shape2:" + i);
}
}


class Shape {
public static void main(String args[]) {
Shape1 s1 = new Shape1();
s1.draw();

Shape2 s2 = new Shape2();
s2.draw();
}
}

最佳答案

您将在此处使用抽象类或接口(interface)以创建提供 void draw() 方法的通用基类/接口(interface),例如

abstract class Shape() {
void draw();
}

class Circle extends Shape {
void draw() { ... }
}

...

Shape s = new Circle();
s.draw();

我通常会使用接口(interface)。但是,如果出现以下情况,您可以使用抽象类:

  1. 您需要/想要提供通用功能或类成员(例如您的情况中的 int i 成员)。
  2. 您的抽象方法除了公共(public)访问(这是接口(interface)允许的唯一访问类型)之外的任何内容,例如在我的示例中,void draw() 将具有包可见性。

关于java - 如何以及何时使用抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com