Java基础查缺补漏05

继续我的复习刷题

可以有和类名同名的函数

题目:

JAVA中,下列语句哪一个正确()

A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D. 一个class只能定义一个constructor

正确答案: C 你的答案: C (正确)


虽然选对了,不过这个知识点得补上:

除了构造函数,可以声明和类名同名的函数,但是要带上返回类型,如:

public class TestConstructor3 {
    public TestConstructor3(){

    }

    public int TestConstructor3(){
        return 0;
    }
}

只是通常不这么写罢了

a---b怎么理解?

题目:

以下程序会输出什么

int a =100,b=50,c=a---b,d=a---b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

A. 100 48 48 49
B. 100 49 48 52
C. 98 50 50 49
D. 98 50 50 48

正确答案: C 你的答案: C (正确)


还蛮有意思的这个,(虽然没什么价值),主要问题是a---b到底应该断句为a-- -b还是a- --b,通过排除法可以知道如果理解为a- --b这里也没得选了,所以应该是a-- -b,主要的知识点就是 --的优先级比-要高些 ,不过这个知识点没什么营养,实际100%不会这么写。

接口可以定义静态成员常量

题目:

下列描述正确的是( )?

A. 类不可以多继承而接口可以多实现
B. 抽象类自身可以定义成员而接口不可以
C. 抽象类和接口都不能被实例化
D. 一个类可以有多个基类和多个基接口

正确答案: A C 你的答案: A B C (错误)


如题:

public interface TestInterface2 {
    public static final int id = 1;
}

而且public static final是可以省略的,即接口里面的字段默认是静态常量。

这样的接口有数据共享的作用,不过通常不这样用。

String.valueOf是存在char类型参数的重载版本的

题目:

public class CharToString {
    public static void main(String[] args)
    {
        char myChar = 'g';
        String myStr = Character.toString(myChar);
        System.out.println("String is: "+myStr);
        myStr = String.valueOf(myChar);
        System.out.println("String is: "+myStr);
    }
}

此代码片段输出正确的值是()

A.
String is: g
String is: g

B.
String is: 103
String is: g

C.
String is: g
String is: 103

D.
String is: 103
String is: 103

正确答案: A 你的答案: C (错误)


这道题目也太会误导了吧。。

通过查找可以发现String类是存在这个方法的:

public static String valueOf(char c) {
    char data[] = {c};
    return new String(data, true);
}

static变量不能定义在方法中

题目:

如下代码的输出结果是什么?

public class Test {
    public int aMethod(){
        static int i = 0;
        i++;
        return i;
    }
public static void main(String args[]){
    Test test = new Test();
    test.aMethod();
    int j = test.aMethod();
    System.out.println(j);
    }
}

A. 0
B. 1
C. 2
D. 编译失败

正确答案: D 你的答案: C (错误)


Java是不允许在方法中定义静态变量的(我记得C++好像可以定义,Java确实不太确定)

原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/java%e5%9f%ba%e7%a1%80%e6%9f%a5%e7%bc%ba%e8%a1%a5%e6%bc%8f05/