如何知道引用java中对象的引用类型?

时间:2015-01-16 08:19:47

标签: java

 package example;
    class Machine
    {
        public void start()
       {
            System.out.println("MACHINE IS STARTING");
       }
    }
    class Camera extends Machine
    {
        public void snap()
        {
            System.out.println("SNAP");
        }
    }

    public class App {
        public static void main(String args[])
        {
            Camera cam1 = new Camera();
            Machine mach1 = cam1; 

        }

    }

在上面的代码中,相机对象正由两个cam1引用     类型机器的相机和mach1。             是否有任何函数可以告诉引用该对象的引用类型???

2 个答案:

答案 0 :(得分:2)

如果您想知道mach1变量引用的实例的类,请使用:

mach1.getClass().getName()

如果您想测试mach1是否属于特定类型,请使用instanceof

if (mach1 instanceof Camera)

答案 1 :(得分:0)

您可以使用getclass方法

java.lang.Object.getClass()

mach1.getClass().getName()

它将返回对象的运行时类。