诡异笔试题集锦

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/flower_CSDN/article/details/82668142

1.

public static void main(String[] args) {
        int i=9;
        switch(i) {
        default:
            System.out.println("default");
        case 7:
            System.out.println("7");
        case 6:
            System.out.println("6");
            break;
        case 9:
            System.out.println("9");
        }

        //9

    }

2.
pyhton中可能为假的是
true==true
因为python中写法是True,False

3。

public class Test {

    public static void main(String[] args) throws Exception {
        ClassLoader cl=ClassLoader.getSystemClassLoader();
        Class clazz=cl.loadClass("A");
        Class clazz=cl.loadClass("java.lang.Object");
        System.out.println("test");
//      clazz.forName("A");

    }

}
class A{
    static {
        System.out.println("A");
    }
}
/*结果出现了classNotFoundeException,我觉得是因为getSystemClassLoader()获得的是系统类加载器,
 * 所以只能加载JRE系统库中已经存在的类,所以这种自定义的类就无法加载*/

4.

public class Test {

    public static void main(String[] args) throws Exception {
        System.out.print(B.c);
    }

}
class A{
    public static String c="C";
    static {
        System.out.print("A");
    }
}

class B extends A{
    static {
        System.out.print("B");
    }
}
//输出AC,直接通过子类去加载父类的静态变量,不会去进行子类的加载

5,

public class Test {
    private static int x=10;
    private static Integer y=10;

    public static void updateX(int value) {
        value=3*value;
    }

    public static void updateY(Integer value) {
        value=3*value;
    }

    public static void main(String[] args) throws Exception {
        updateX(x);
        updateY(y);
        System.out.println(Test.x);
        System.out.println(Test.y);
    }
    //结果输出10,10
}

6,

public class Test {
    public static void main(String[] args) {
        System.out.println(A.a);
    }
}
class A{
    static {
        System.out.print("OK");
    }

    public static final String a=new String("JD");
}
//结果输出OKJD

猜你喜欢

转载自blog.csdn.net/flower_CSDN/article/details/82668142