实例化没有实现类的接口

灰分

我有一个接口(称其为Planet),其实现类受保护,并且我不能为此更改访问修饰符。但是,我需要在主类内部调用实现类的方法。例如,在实现类中,我有:public void orbit() {distance++;}我已经尝试过:private Planet planet = new PlanetImpl,但是由于PlanetImpl类是受保护的并且位于不同的包中,因此找不到它,从而使该语句无效。我也尝试过将其保留为null,就像这样,Planet planet; planet.orbit(); 但是它抛出NullPointerException。是否可以在不直接引用实现类的情况下调用方法?

user10215581:

使用匿名内部类,我们可以做到。匿名类可以实现接口,我认为那时只有您有机会看到一个类在没有“ implements”关键字的情况下实现接口。

interface Planet  {
public void orbit();
}
class PlanetMain  {
private Planet p = new Planet () {
    public void orbit() {
        System.out.println("interface Planet class executed");
   }
 };
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否它实现了接口的方法(没有明确地实现该接口)一类扩展特定接口?

有没有办法确保实现接口的类实现静态方法?

无法编译没有类型参数的实现接口的类

Java:实例化没有默认构造函数的通用类

Bean实例化类的@PostConstruct没有被调用

让接口提供实现它的类的实例

检查实例的类是否实现了接口?

实例化抽象类时没有错误,即使未实现抽象方法

如何实例化在Kotlin中实现接口的匿名类

没有类型参数的Java通用类实例化

实例化实现通用接口实例的所有类

可以使用C ++聚合初始化来构造实现接口的类的实例吗?

装饰器调用没有类实例化的类方法?

实例化一个类-有或没有Parens?

实现接口的具体类是否需要完全遵循接口定义?(没有额外的属性和方法)

扩展接口与通过匿名类实例化

父类从子类实现的接口的值更改会影响所有实例

我如何实例化在Java中实现Java接口的JRuby类

从实现与JAXB接口的类实例化的封送处理Java对象

排序没有实例化的类方法

这些接口类是否被实例化?

实例化一个实现通用接口的类

实例化一个动态加载的类,以实现现有接口

为该类具有依赖关系的接口的每个具体实现组成一个类的实例

没有类实例化的 C# 语法

没有实例化的类字典

Kotlin 中的泛型:如何实例化实现接口的泛型类

在许多类中实现的 C# 调用接口方法没有这些类的实例

没有类实例化的命名空间方法