题解 | #类型判断#instanceof getClass

类型判断

https://www.nowcoder.com/practice/97223208ca954e67832da716b46e5d72

import java.util.Scanner;

public class Main {

    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String className = scanner.next();
            Base obj = (Base) Class.forName(className).newInstance();
            System.out.println(getClassName(obj));
        }
    }

    public static String getClassName(Base obj) {

        //write your code here......
        if(obj instanceof Base)
        {
            return obj.toString();
        }
        else if(obj instanceof Sub1)
        {
            return obj.toString();
        }
        else if(obj instanceof Sub2)
        {
            return obj.toString();
        }
        return "Object";
        

    }

}

class Base {
    
    public String toString()
    {
        return "Base";

    }

}

class Sub1 extends Base {
    public String toString()
    {
        return "Sub1";

    }
}

class Sub2 extends Base {
    public String toString()
    {
        return "Sub2";

    }
}

  1. instanceof运算符判断obj是否属于右边类所创建对象,instanceof是Java的保留关键字。

a instanceof A

2.传入的是一个实例,我们对这个实例调用getClass().getName()即可

Java语法基础 文章被收录于专栏

基础语法的熟悉

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务