首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类之外的访问接口java

类之外的访问接口java
EN

Stack Overflow用户
提问于 2020-07-17 12:36:57
回答 2查看 51关注 0票数 0

我有一个类A,另一个是B,只有一个接口Ai与一个方法ok()

A类实现了Ai,在ok内部我只打印了一行。

类B有一个A的实例,我想访问B.内部的A接口

能办到吗?如果是的话,怎么做?

代码语言:javascript
复制
public class HelloWorld{

     public static void main(String []args){
        System.out.println("Hello World");
        new B();
     }
}

class A implements Ai{
    
    public A(){
        ok();
    }
    
    @Override
    public void ok(){
        System.out.println("ok???");
    }
}

class B{
    public B(){
        A a = new A();
        // I want to call interface of A from here,
        // so I can get the exact ok method of A
        // that print's "ok???" from inside class B
    }
}

interface Ai{
    public void ok();
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-22 18:59:00

代码语言:javascript
复制
class A implements So{
 B b;
 @Override
 so(int x){
   if(b!==null){
     b.so(x);
   }
 }
}
class B implements So{
 A a;
 @Override
 so(int x){
   if(a!==null){
     a.so(x);
   }
 }
}

我只需要这个。有疑问吗?请评论一下。

票数 0
EN

Stack Overflow用户

发布于 2020-07-17 12:41:45

代码语言:javascript
复制
public class HelloWorld{

     public static void main(String []args){
        System.out.println("Hello World");
        new B();
     }
}

class A implements Ai{
    
    public A(){
        ok();
    }
    
    @Override
    public void ok(){
        System.out.println("ok???");
    }
}

class B{
    public B(){
        A a = new A();
        //just call a.ok() here to execute A implementation of Ai.ok()
        a.ok(); // <--- 
    }
}

interface Ai{
    public void ok();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62954129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档