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

标签 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 引用,其中 cam1 是 类型为 Camera ,类型为 Machine 的 mach1 。 是否有任何函数可以告诉引用该对象的引用类型???

最佳答案

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

mach1.getClass().getName()

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

if (mach1 instanceof Camera)

关于java - java中如何知道引用对象的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27979743/

相关文章:

java - 从 Android 版 facebook SDK 获取电子邮件地址

java - 如何将 Java 中存储在 long 中的经过的毫秒数转换为格式为 mm :ss. ss 的字符串?

java - 如何无缝地在tomcat中重新部署 war ?

java - 使用斯坦福 coreNLP 进行中文句子分割

java - 为什么 String.split() 会在这里返回额外的元素?

java - Sencha Cmd 5 + Java 8 错误

java - 如何获取对象的历史记录或跟踪对象

java - 带有依赖项的 Gradle 多项目设置 -> 无法解析所有依赖项

java - 如何在 ProdctData JSON 中填充自定义属性?

java - 定义简单的数学函数并评估结果