首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从另一个类访问委托方法?

从另一个类访问委托方法,可以通过以下几种方式实现:

  1. 继承:让一个类继承另一个类,从而可以访问其委托方法。
代码语言:java
复制
class A {
    void methodA() {
        System.out.println("Method A");
    }
}

class B extends A {
    void methodB() {
        System.out.println("Method B");
    }
}

public class Main {
    public static void main(String[] args) {
        B obj = new B();
        obj.methodA();
        obj.methodB();
    }
}
  1. 接口:通过实现接口,可以访问委托方法。
代码语言:java
复制
interface A {
    void methodA();
}

class B implements A {
    public void methodA() {
        System.out.println("Method A");
    }

    void methodB() {
        System.out.println("Method B");
    }
}

public class Main {
    public static void main(String[] args) {
        A obj = new B();
        obj.methodA();
        ((B) obj).methodB();
    }
}
  1. 匿名内部类:通过创建一个匿名内部类,可以访问委托方法。
代码语言:java
复制
interface A {
    void methodA();
}

class B {
    void methodB() {
        System.out.println("Method B");
    }
}

public class Main {
    public static void main(String[] args) {
        A obj = new B() {
            @Override
            public void methodA() {
                System.out.println("Method A");
            }
        };
        obj.methodA();
    }
}
  1. 使用反射:通过反射,可以访问委托方法。
代码语言:java
复制
class A {
    void methodA() {
        System.out.println("Method A");
    }
}

class B {
    void methodB() {
        System.out.println("Method B");
    }
}

public class Main {
    public static void main(String[] args) throws Exception {
        A obj = new A();
        Method method = obj.getClass().getDeclaredMethod("methodA");
        method.setAccessible(true);
        method.invoke(obj);
    }
}

以上是几种从另一个类访问委托方法的方法,可以根据具体情况选择合适的方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券