一道java题目?选什么?为什么?

2025-05-11 23:25:44
推荐回答(5个)
回答1:

答案:C
Java中字符型数据内部采用的数字存储的。
Java中的方法调用,会找最“合适”的方法。当然这个合适也要参数类型兼容。
如果此时在方法中存在 void test(char c) 这样的方法,它一定会执行这个方法的。

回答2:

选c, 因为char和int是可以互相转换而不需要强制转换的,就是说char类型的字符对应一个int值(ascii码)

回答3:

应该选D,主Main中你创建了一个对象t, t调用了test这个函数,这个函数当参数不同时会调用对应的那个方法。就是这样的。

回答4:

C char自动ASCII成int了

回答5:

选C。在这里基本数据类型向上提升,char自动提升为int。char是不可能提升为String的。

你可以验证一下:

========================================================================

class TestCast{

    /* 编译不报错 */
    
    void test(int s){
        System.out.println("I am a String");
    }

    public static void main(String[] args){
        TestCast t = new TestCast();
        char ch = 'y';
        t.test(ch);
    }
}

==========================================================================

class TestCast{

    /* 编译报错 */
    
    void test(String s){
        System.out.println("I am a String");
    }
    
    public static void main(String[] args){
        TestCast t = new TestCast();
        char ch = 'y';
        t.test(ch);
    }
}