首页 > 解决方案 > 使用泛型类从其他类访问其他方法

问题描述

假设我有 6 个或更多特定类,每个类都有唯一的变量,但始终使用相同的方法。如何使用我的泛型类来访问特定类的方法?这甚至可能还是我必须采取另一种方法?

//Specific Class
package test;
public class Specific<T> {
    String name = "John";
    int age = 18;

    public void specificDetails() {
        System.out.println("Myname is " + name + " and I am " + age + " years old.");
    }
}

//generic class
import test.Specific;

public class Generic {
    public static <E> void printPersonDetails(E person) {
        //this is the problem. How can I access this method using generics?
        person.specificDetails;
    }

    public static void main(String[] args) {
        Specific specificPerson = new Specific();
        printPersonDetails(specificPerson);
    }

}

先感谢您。

标签: javagenerics

解决方案


您必须告诉ESpecific<T>. 就像是,

public static <E extends Specific<?>> void printPersonDetails(E person) {
    person.specificDetails();
}

推荐阅读