首页 > 编程语言 >Java基础练习题-错题集(一)

Java基础练习题-错题集(一)

时间:2022-08-21 22:44:31浏览次数:62  
标签:练习题 初始化 Java System 错题 线程 print 父类 out

(1) 下面代码输出结果是?

class C {
    C() {
        System.out.print("C");
    }
}

class A {
    C c = new C();

    A() {
        this("A");
        System.out.print("A");
    }

    A(String s) {
        System.out.print(s);
    }
}

class Test extends A {
    Test() {
        super("B");
        System.out.print("B");
    }

    public static void main(String[] args) {
        new Test();
    }
}

选项: A. BB   

    B. CBB 

    C. BAB 

    D. None of the above

(2)  以下哪一个不是赋值符号?

选项: A. +=   

    B. <<= 

    C. <<<=

    D. >>>= 

(3)  以下哪些方法是Object类中的方法?

选项: A. clone() 

    B. toString()

    C. wait()

    D. finalize()

===================================================解题分析==============================================

(1) 解析   正确答案 B 初始化过程是这样的:  1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;  2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;  3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法; 4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法;    (1)初始化父类的普通成员变量和代码块,执行 C c = new C(); 输出C  (2)super("B"); 表示调用父类的构造方法,不调用父类的无参构造函数,输出B  (3) System.out.print("B");   所以输出CBB   (2) 解析   正确答案 C >>   为带符号右移,右移后左边的空位被填充为符号位 >>> 为不带符号右移,右移后左边的空位被填充为0 没有<<< << 左移,左移后右边总是补0   A.很明显是赋值符号
B.<<=左移赋值
C.不是
D.>>>= 右移赋值,左边空出的位以0填充   (3) 解析   正确答案 ABCD Object 类中方法及说明如下:   clone()    //创建并返回此对象的一个副本。   equals(Object obj)     //用于确认两个对象是否“相同”。   finalize()    //当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。   getClass()    //返回此 Object 的运行类。   hashCode()    //用于获取对象的哈希值。 notify()    //唤醒在此对象监视器上等待的单个线程。   
notifyAll()     //唤醒在此对象监视器上等待的所有线程。    toString()   //返回该对象的字符串表示。   
wait(long timeout)    //在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。   
wait(long timeout, int nanos)    //在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。
wait()    //用于让当前线程失去操作权限,当前线程进入等待序列

标签:练习题,初始化,Java,System,错题,线程,print,父类,out
From: https://www.cnblogs.com/taoxw/p/16611253.html

相关文章

  • Elasticsearch Java client使用
    前言Elasticsearch官方列出了好几个客户端,如下所示JavaClientJavaRestClient(JavaHighLevelRESTClient)JavaTransportClient其中JavaRestClient在7.15.0被......
  • 《Java周边》IDEA操作说明
    1. setting设置1.1设置字体大小:1.2设置文件层级1.3编码设置 设置默认值:1.4设置注释模板1.5属性断点1.6异常断点1.7条件断点1.8调试(强制调用......
  • Java八股文纯享版——目录
    《Java八股文纯享版——篇①:Java基础》《Java八股文纯享版——篇②:并发编程》《Java八股文纯享版——篇③:JVM》《Java八股文纯享版——篇④:数据库》《Java八股文纯享......
  • Java时间格式:yyyy-mm-dd转换为yyyy年mm月dd日
    Java时间格式:yyyy-mm-dd转换为yyyy年mm月dd日1:sql直接操作SELECTDATE_FORMAT(‘2022-01-04’,’%Y年%m月%d日’)--结果就是:2022年01月04日122:java格式化操作......
  • 介绍下Java内存区域(运行时数据区)
    介绍下Java内存区域(运行时数据区)Java虚拟机在执行Java程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK1.8和之前的版本略有不同。下图是JDK1.8对J......
  • Java 常用类和方法
    JavaMath类xxxValue()方法用于将Number对象转换为 xxx 数据类型的值并返回。   Javaequals()方法equals()方法用于判断Number对象与方法的参数进是......
  • Java中的参数传递,到底是值传递还是引用传递?
    1、Java中的参数传递,到底是值传递还是引用传递?结论:Java只有值传递,没有引用传递!错误理解一:值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递。如果......
  • 9.Java的LinkedList/Deque相关方法
    Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别它们来自不同的接口add/remove源自集合,所以添加到队尾,从队头删除;offer/poll源自队列(先进先出=>尾进......
  • Java学习 (26) 异常篇 异常结构&异常处理&自定义异常
    目录异常结构异常的定义异常的分类ErrorExpectionError和Exception的区别具体讲解视频异常处理捕获异常语法实例抛出异常语法实例具体讲解视频自定义异常具体讲解视频异常......
  • JAVA基础--程序流程控制--2022年8月21日
    第一节分支结构1、if分支的写法有几种,各有什么特点?if(){}if(){}  else{}if(){}  elseif(){} elseif(){} ... else{}......