zoukankan      html  css  js  c++  java
  • java复习题

    1.在jdk1.5的环境下,有如下4条语句:

    Integer i01 = 59;
    int i02 = 59;
    Integer i03 =Integer.valueOf(59);
    Integer i04 = new Integer(59)


    以下输出结果为false的是:
    A.System.out.println(i01== i02);
    B.System.out.println(i01== i03);
    C.System.out.println(i03== i04);
    D.System.out.println(i02== i04);

    注意点:1.==号在基本类型的情况下比较值,引用类型比较地址 2. 在[-128,127]范围内,i01的地址会被i03引用,因为都在IntegerCache里面。超出范围或者自己new一个才会新建一个地址,例如i04

    2.对文件名为Test.java的java代码描述正确的是()

    class Person {
        String name = "No name";
        public Person(String nm) {
            name = nm;
        }
    }
    class Employee extends Person {
        String empID = "0000";
        public Employee(String id) {
            empID = id;
        }
    }
    public class Test {
        public static void main(String args[]) {
            Employee e = new Employee("123");
            System.out.println(e.empID);
        }
    }

    A.输出:0000
    B.输出:123
    C.编译报错
    D.输出:No name

    注意点:子类的构造方法总是先调用父类的构造方法,如果子类的构造方法没有明显地指明使用父类的哪个构造方法,子类就调用父类不带参数的构造方法。
        而父类没有无参的构造函数,所以子类需要在自己的构造函数中显示的调用父类的构造函数

    3.关于抽象类与接口,下列说法正确的有?

    A.优先选用接口,尽量少用抽象类
    B.抽象类可以被声明使用,接口不可以被声明使用
    C.抽象类和接口都不能被实例化。
    D.以上说法都不对

      注意点:B选项,声明和实例化的区别。

      声明就是等号前面的:
      这样写编译运行都是没有问题的。
      要说具体作用,比如你有B和C类都继承自A,而你想把他们都作为A类来使用,就可以声明:
      A a1,a2
      a1=new B();
      a2=new C();

    -----蓝天白云,家里的猫,林里的鸟,愿一切安好。
  • 相关阅读:
    oracle 例外
    Help with Intervals(集合的交并补,线段树)
    Mex(线段树的巧妙应用)
    hdu4578Transformation(线段树多个lz标记)
    Coder(线段树)
    Ice-cream Tycoon9(线段树)
    Partition(线段树的离线处理)
    ACM学习大纲(转)
    Codeforces Round #250 (Div. 1)
    记次浙大月赛 134
  • 原文地址:https://www.cnblogs.com/yuqinweb/p/5716234.html
Copyright © 2011-2022 走看看