从另一个类访问委托方法,可以通过以下几种方式实现:
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();
}
}
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();
}
}
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();
}
}
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);
}
}
以上是几种从另一个类访问委托方法的方法,可以根据具体情况选择合适的方式。
领取专属 10元无门槛券
手把手带您无忧上云