如何将变量名及其';什么是Java的类型?

如何将变量名及其';什么是Java的类型?,java,types,system.out,Java,Types,System.out,我有以下课程: public class Example { private String name; private int year; public Example() { name = "Clifford the big red dog"; year = 2020; } public void showData() { // ????? } } 想象一下,在主类中,我创建了前一个类(E

我有以下课程:

public class Example {

    private String name;
    private int year;

    public Example() {

        name = "Clifford the big red dog";
        year = 2020;
    }

    public void showData() {
        // ?????
    }
}
想象一下,在主类中,我创建了前一个类(
Example
)的一个对象,并执行它的构造函数。然后,我想执行
showData()
,并希望看到以下输出(给定此示例):

主视图如下所示:

public static void main () {

    Example example = new Example();

    example.showData();
}
我有什么办法可以做到这一点吗?

按如下方式进行:

class Example {

    private String name;
    private int year;

    public Example() {

        name = "Clifford the big red dog";
        year = 2020;
    }

    public void showData() {
        System.out.println(name.getClass().getSimpleName() + " name " + name);
        System.out.println(((Object) year).getClass().getSimpleName() + " year " + year);
    }
}

public class Main {
    public static void main(String[] args) {
        Example example = new Example();
        example.showData();
    }
}
输出:

String name Clifford the big red dog
Integer year 2020
String name Clifford the big red dog
int year 2020
但是,由于
showData
class-Example
的一种方法,它已经知道它的实例变量,因此您可以简单地按照以下方式执行:

class Example {

    private String name;
    private int year;

    public Example() {

        name = "Clifford the big red dog";
        year = 2020;
    }

    public void showData() {
        System.out.println("String name " + name);
        System.out.println("int year " + year);
    }
}

public class Main {
    public static void main(String[] args) {
        Example example = new Example();
        example.showData();
    }
}
输出:

String name Clifford the big red dog
Integer year 2020
String name Clifford the big red dog
int year 2020

是的,有。@Kayaman你能举个例子吗?反射有点高级,它不是通用工具。是否有打印变量类型、名称和值的原因?是为了调试吗?不是为了调试,我正在远程连接到我的SQL数据库管理器,这将有助于通过Java程序创建表,因为我想知道我是否可以创建一个可以在任何类上工作的函数,这样我就可以在SQL数据库上创建所需的表,而无需手动键入每个变量名。谢谢回答!但是如果你不知道这个类有多少个变量,你还会有办法做到这一点吗?(使用循环或其他方式)?感谢@user85421提供的宝贵反馈。我已经更新了我的答案以合并它。@user157629-您可以使用反射获得实例变量列表。检查一下,谢谢!我来看看:)