JavaSE期末总测试题
发布时间:2023-01-19 03:40:46 来源:文档文库
小
中
大
字号:
读书破万卷下笔如有神
JavaSE期末总测试
注意:
直接将自己的答案编写在每一道试题的下面,代码要规范,最好使用不同背景加注,
”.doc提交试卷的时候文件的命名格式如:”姓名
一、简答题
1.简述面向对象的特征有哪些方面?三大特征:封装、继承、多态
1、封装:在开发中,实体类我们一般都会封装起来,隐藏对象的属性和实现细节,仅对外提供公共访问方式。1)私有化属性
2)根据需求设置set、get方法3)提供公共方法对其访问2、继承:
1)父类的由来:多个类不断向上抽取共性内容而来的
2)只支持单继承,但支持多重继承,即A继承B,B继承C,C继承D
3)为什么不支持多继承,当两个父类中有相同的功能时,子类方法调用该功能时该运行哪一个呢?
4)当类与类之间存在着所属关系时,才具备了继承的前提
5)子类覆盖父类时,必须要保证子类方法的权限大于等于父类方法的权限6)覆盖时,要么都静态,要么都不静态3、多态:
1)体现:父类的引用或者接口的引用指向了自己的子类对象,即父类可以调用子类中复写过的方法。//Animala=newCat(;
2)前提:必须要有关系,如继承、实现;通常会有覆盖操作3)弊端:当父类引用指向子类对象时,只能访问父类中含有的方法
2.简述StringBuffer和StringBuilder的区别?(10分)
StringBuffer:字符串缓冲区,从JDK1.0开始的,是一个线程安全的存储字符容器。如果频繁修改字符串的内容,建议使用字符串缓冲类StringBuffer。
StringBuilder:字符串缓冲区,从JDK1.5开始的,非线程安全,但效率高。
单线程操作,使用StringBuilder效率高;多线程操作,使用StringBuffer安全。
3.在main方法中的执行代码如下:Strings1=abc;Strings2=abc;
System.out.println(s1==s2;
请写出以上代码的输出的结果,分析输出结果的原因。(10分)打印:true
对象指向同一个字面量时,在堆内存String对象可以直接使用字面量赋值,而且多个String
下笔如有神读书破万卷
那么每调用一String类型的引用赋值,对象。如果调用String构造函数给当中只有一个java都是同一个字面、s2次构造函数,在堆内存当中就会生成一个string对象。所以,如果s1构造函数生成使用Strings1、s2==量赋值,那么无论是用还是equals(,都返回true。如果true。,用equals(返回对象,并且传入的字面量相等,那么用==返回false
10分)同步有几种实现方法?(4.多线程有几种实现方法?接口extendThread类、implementsRunnable两大方法:方法Thread类,由子类腹泻run(1、继承类自定义子类继承Thread1)方法中将让线程运行的代码存储到run(2)的子类对象,创建线程对象通过创建Thread3)方法,开启线程通过子类调用