邱士超
2015-03-29 08:28
采纳率: 66.7%
浏览 1.9k
已采纳

关于Java接口实现调用问题。

如果有一个接口interface有两个方法:方法a和方法b,有一个类C实现了这个接口,但是
类C有一个特有的public方法c,那么请问如何调用方法c?直接声明C的对象,然后直接
调用C.c()吗?还是有更好的方法?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • _Nick_ 2015-04-01 08:15
    已采纳

    c()是类C的私有方法,只能通过C实例来调用c(),
    或许你也可以再设计一个接口D,里面包含c(), C实现接口这2个接口,在运行时这样:
    if(o instanceof D) {
    C c = (C) o;
    c.c();
    }
    else if(o instanceof A) {
    A a = (A) o;
    a.a();
    a.b();
    }

    已采纳该答案
    打赏 评论
  • threenewbee 2015-03-29 08:36

    只能这样,通过接口只能调用a b

    打赏 评论
  • 飞碟说 2015-03-29 08:37

    如果不是静态方法,就只能通过实例化对象来调用里面的方法;如果是静态方法就要用类名.方法名来调用

    打赏 评论
  • 刘树旺great 2015-03-30 01:52

    C特有方法c是否是Static类型 如果是可以用C.c()或C cl = new C(); c1.c();如果不是static类型 只能用C cl = new C()调用

    打赏 评论

相关推荐 更多相似问题