Java 是否需要一个封闭实例。。。?

Java 是否需要一个封闭实例。。。?,java,Java,我想知道是否有人知道如何修复这个错误?当我试图将playerA、playerB和playerC制作成一个抽象PlayerImpl时,它们就会出现。错误为“需要一个封闭实例” 只有当Player是AbstractPlayerImpl的子类型时,您尝试的方法才会起作用。换句话说,玩家必须扩展AbstractPlayerImpl public class Player extends AbstractPlayerImpl 如果玩家是超类,这将不起作用 记住,孩子就像父母一样;父项与子项不同。只有

我想知道是否有人知道如何修复这个错误?当我试图将playerA、playerB和playerC制作成一个抽象PlayerImpl时,它们就会出现。错误为“需要一个封闭实例”



只有当Player是AbstractPlayerImpl的子类型时,您尝试的方法才会起作用。换句话说,玩家必须扩展AbstractPlayerImpl

 public class Player extends AbstractPlayerImpl
如果玩家是超类,这将不起作用


记住,孩子就像父母一样;父项与子项不同。

只有当Player是AbstractPlayerImpl的子类型时,您尝试的操作才会起作用。换句话说,玩家必须扩展AbstractPlayerImpl

 public class Player extends AbstractPlayerImpl
如果玩家是超类,这将不起作用


记住,孩子就像父母一样;父类与其子类不同。

您是否在同一个文件中声明了这两个类???如果是这样,您最好将它们拆分或使嵌套类(即,在另一个类中声明的一个)成为“static”:

static class PlayerImpl extends AbstractPlayer

我知道您使用了不同的名称,但请不要将一个具体的类称为以“Abstract”开头的名称!程序员使用以“Abstract…”开头的命名约定,只给抽象类命名!调用类AbstractPlayerImpl是完全矛盾的(一个抽象实现??)

您是否在同一个文件中声明了两个类???如果是这样,您最好将它们拆分或使嵌套类(即,在另一个类中声明的一个)成为“static”:

static class PlayerImpl extends AbstractPlayer
我知道您使用了不同的名称,但请不要将一个具体的类称为以“Abstract”开头的名称!程序员使用以“Abstract…”开头的命名约定,只给抽象类命名!调用类AbstractPlayerImpl是完全矛盾的(抽象实现??)

“需要封闭实例”意味着试图在静态(或定义外部类)上下文中创建。内部类是[static]嵌套类的一个特殊子集,它“绑定”到一个特定的包含对象,因此只能在适用的外部类实例的上下文中创建

属于内部类[es]实例的对象存在于外部类的实例中。

很可能在重构过程中的某个地方,一些原始类被保留为内部类,现在被用于定义外的类上下文:然后生成所有普通(例如非内部)类。(另外,为确保安全起见,请确保没有重复的类,并且已清理任何旧类文件。)

快乐编码。

“需要封闭实例”表示试图在静态(或定义外部类之外)上下文中创建实例。内部类是[static]嵌套类的一个特殊子集,它“绑定”到一个特定的包含对象,因此只能在适用的外部类实例的上下文中创建

属于内部类[es]实例的对象存在于外部类的实例中。

很可能在重构过程中的某个地方,一些原始类被保留为内部类,现在被用于定义外的类上下文:然后生成所有普通(例如非内部)类。(另外,为确保安全起见,请确保没有重复的类,并且已清理任何旧类文件。)


愉快的编码。

如果
新的AbstractTurnBasedGameImpl(…)
编译,这意味着您的命名约定非常糟糕。这是真的。。。不要用“abstract”开头一个具体类的名称(不是abstract)!!如果编译了
new AbstractTurnBasedGameImpl(…)
,这意味着您的命名约定异常糟糕。没错。。。不要用“abstract”开头一个具体类的名称(不是abstract)!!你是想宣布A,B,C为抽象玩家吗?是的。这是我应该遵循的教程的一部分…:/等等,不是。我按照教程做的,上面说要按我输入的内容做。我甚至复制和粘贴,以防我发疯。听起来像是教程误导了你。如果此响应解决了您的问题,请记住将其标记。您是否打算将A、B、C声明为AbstractPlayer?是的。这是我应该遵循的教程的一部分…:/等等,不是。我按照教程做的,上面说要按我输入的内容做。我甚至复制和粘贴,以防我发疯。听起来像是教程误导了你。如果此回复解决了您的问题,请记住将其标记。我认为我之前所说的内容已被删除。我正在学习一个教程。。。所以我真的不知道那是什么意思。教程说不应该有任何错误。@user1251020如果教程不包含任何错误,则会引入一些错误。如果包含了准确的错误消息error message(以及完整的相关代码,甚至是教程的链接),那么就可以准确地指出错误的行/类型。请看链接的Java轨迹。我想我之前说的内容被删除了。我正在学习一个教程。。。所以我真的不知道那是什么意思。教程说不应该有任何错误。@user1251020如果教程不包含任何错误,则会引入一些错误。如果包含了准确的错误消息error message(以及完整的相关代码,甚至是教程的链接),那么就可以准确地指出错误的行/类型。请查看链接的Java轨迹。