有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我应该创建一个超类吗?我永远不会只是为了铸造不同的子类而引用它?

我刚开始学习Java,我有一个问题。假设我有A类和B类。我需要一个变量,它可以是对象类型A或类型B。我相信为A和B创建一个新的超类P会使它成为一个变量。但我永远不会创建P的实例,我会一直使用类型A或B对象

我想,也许对p使用抽象类会更有意义,因为永远不会生成它的实例,但是我不能对它强制转换A或B。那么,这是唯一正确的方法吗

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    您应该创建一个interface,而不是一个超类

  2. # 2 楼答案

    经验法则是创建一个接口

    如果这两个类真的有共同的行为,那么可能实际上可以使用抽象超类在这个超类中实现共同的实现

    尽管如此,在创建这样一个超类时要谨慎,因为超类通常是基于惰性而创建的,而不是因为类之间真正的公共关系

    有了接口或超类,下面这样的语句总是正确的

    P object = new A(); P object2 = new B();