简述java异常继承结构_java基础笔试题⼀
Java填空题
已知代码,最后输出结果a的值为__21____, b的值为______39____
Int a = 10;
int b = 20;
If(a++ >10 || --b<20){
a += 10;
b += 20;
}
已知代码,最后输出结果a的值为__11____, b的值为______20____
int a = 10;
int b = 20;
if(a++ >10 && --b<20){
a += 10;
b += 20;
}
System.out.println(a);
System.out.println(b);
3. 已知代码,在空格处添加________代码块,实现打印5个KaTeX parse error: Expected '}', got 'EOF' at end of input: …m.out.println(“”);
count–;
if(count==5){ break; };
}
4.已知代码,在空格处添加___i+=2_____代码,输出1,3,5,7,9
for(int i=1;i<=10;i+=2____){
System.out.println(i);
}
5. 已知程序:输出num值为___200__输出num值为___300__
public class Test{
private static int num2 = 100;
public static void changeNum(int num){
num = 1000;
}
Public static void main(string[] args){
int num = 200;
int num2 = 300;
changeNum(num)
changeNum(num2)
System.out.println(num);
System.out.println(num2);
}
}
6. 已知程序:控制台输出的结果是____in finally 7___
public static int testTry(){
int a = 7;
try{
return a;
}catch(Exception e){
System.out.println(“in catch”);
}finally{
System.out.println(“in finally”);
a = 10;
}
return a;
}
public static void main(String[] args) {
System.out.println(testTry());
}
简答题
请写出input标签的10个type属性
Text⽂本框 password 密码框 radio 单选按钮 checkbox 复选框
Image图像域 file⽂件域 button 按钮 reset 重置
Submit提交按钮 hidden隐藏
请写出String,StringBuffer和StringBuilder的区别
String 字符串常量 长度不可变 使⽤字符串拼接时是不同的2个空间 连接效率低StringBuffer 字符串缓冲区 长度可变 线程安全 字符串拼接直接在字符串后追加StringBuilder 字符串缓冲区 长度可变 ⾮线程安全 字符串拼接直接在字符串后追加请写出ArrayList与LinkedList的区别
ArrayList 采⽤的是数组形式来保存对象的,这种⽅式将对象放在连续的位置中,所以最⼤的缺点就是
插⼊删除时⾮常⿇烦
LinkedList 采⽤的将对象存放在独⽴的空间中,⽽且在每个空间中还保存下⼀个链接的索引 但是缺点就是查⾮常⿇烦 要丛第⼀个索引开始
表单提交Get和Post⽅式的区别
get是从服务器上获取数据, post是向服务器传送数据。
get传参,在URL中可以看到, post是通过HTTP post机制传参,⽤户看不到这个过程。
对于get⽅式,服务器端⽤Request.QueryString获取变量的值,
对于post⽅式,服务器端⽤Request.Form获取提交的数据。
get传送的数据量较⼩,不能⼤于2KB,post传送的数据量较⼤,⼀般被默认为不受限制
get安全性⾮常低,post安全性较⾼. 但是get执⾏效率却⽐Post⽅法好.
上传时必须⽤post
请写出finally,final,finalize() 的区别
Final是⼀个修饰符:
当final修饰⼀个变量的时候,变量变成⼀个常量,它不能被⼆次赋值
当final修饰的变量为静态变量(即由static修饰)时,必须在声明这个变 量的时候给它赋值
当final修饰⽅法时,该⽅法不能被重写
当final修饰类时,该类不能被继承
Final不能修饰抽象类,因为抽象类中会有需要⼦类实现的抽象⽅法,
(抽象类中可以有抽象⽅法,也可以有普通⽅法,当⼀个抽象类中没有抽象⽅法时,
这个抽象类也就没有了它存在的必要)
Final不能修饰接⼝,因为接⼝中有需要其实现类来实现的⽅法
Finally:
Finally只能与try/catch语句结合使⽤,finally语句块中的语句⼀定会执⾏,
并且会在return,continue,break关键字之前执⾏
finalize:
Finalize是⼀个⽅法,属于java.lang.Object类,finalize()⽅法是GC(garbage collector垃圾回收)运⾏机制的⼀部分,finalize()⽅法是在GC清理它所从属的对象时被调⽤的
6.请写出list集合的实现类的区别
ArrayList:查询数据⽐较快,添加和删除数据⽐较慢(基于可变数组)线程不安全的
LinkedList:查询数据⽐较慢,添加和删除数据⽐较快(基于链表数据结构)线程不安全
Vector:线程安全
访问权限修饰符以及它们修饰之后的访问范围?以及范围从⼩到⼤的排序
访问修饰符 同⼀个类 同包 不同包,⼦类 不同包,⾮⼦类
private √
default √ √
protected √ √ √
public √ √ √ √
访问修饰符是控制类,属性,⽅法的访问范围。
Public 公共的 在整个项⽬中可以访问
Protected 受保护的 在同⼀个包中以及不同包的⼦类中访问
Default 默认的 在同⼀个包中 访问
Private 私有的 只能在当前类中访问
8.请写出运⾏时异常和⾮运⾏时异常的区别,并且每种⾄少写出3个常见的异常
运⾏时异常: 都是RuntimeException类及其⼦类异常:
IndexOutOfBoundsException 索引越界异常
ArithmeticException:数学计算异常
NullPointerException:空指针异常
⾮运⾏时异常:是RuntimeException以外的异常,类型上都属于Exception类及其⼦类。从程序语法⾓度讲是必须进⾏处理的异常,如果不处理,程序就不能编译通过。
如:IOException、⽂件读写异常
FileNotFoundException:⽂件未到异常
EOFException:读写⽂件尾异常
9. 请写出Hashtable与HashMap的区别
HashMap 线程不安全的,效率⾼,允许键对象和值对象为null
HashTable线程安全的,效率低,不允许键对象和值对象为空,否则会报异常
10. 简述重写和重载的区别
重载:重载发⽣在同⼀个类中,在该类中如果存在多个同名⽅法,
但是⽅法的参数类型和个数不⼀样,那么说明该⽅法被重载了。
重写:重写发⽣在⼦类继承⽗类的关系中,⽗类中的⽅法被⼦类继承,
⽅法名,返回值类型,参数完全⼀样,但是⽅法体不⼀样,那么说明⽗类中的该⽅法被⼦类重写了。
当⽗类⽆法满⾜⼦类的需求的时候需要重写⽗类中的⽅法。⼦类不能重写⽗类私有的和static修饰的⽅法
⼦类不能抛出⽐⽗类更⼤的异常,⼦类重写⽗类⽅法时访问权限不能⼩于⽗类
11. 请写出throw和throws的区别
Throw表⽰抛出⼀个异常对象,异常对象需要抛出才能使⽤。⽤在⽅法体内。
Throws ⽤来声明异常,⽤在⽅法的参数列表和⽅法体之间,表⽰声明异常类。
调⽤声明异常类的⽅法需要处理异常。
12.接⼝抽象类的区别
1、抽象类和接⼝都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象⽅法的⼦类对象,接⼝变量必须指向实现所有接⼝⽅法的类对象。
2、抽象类要被⼦类继承,接⼝要被类实现。
3、接⼝只能做⽅法申明,抽象类中可以做⽅法申明,也可以做⽅法实现
4、接⼝⾥定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
5、抽象类⾥的抽象⽅法必须全部被⼦类所实现,如果⼦类不能全部实现⽗类抽象⽅法,那么该⼦类只能是抽象类。同样,⼀个实现接⼝的时候,如不能全部实现接⼝⽅法,那么该类也只能为抽象类。
6、抽象⽅法只能申明,不能实现,接⼝是设计的结果 ,抽象类是重构的结果
7、抽象类⾥可以没有抽象⽅法
8、如果⼀个类⾥有抽象⽅法,那么这个类只能是抽象类
9、抽象⽅法要被实现,所以不能是静态的,也不能是私有的。
10、接⼝可继承接⼝,并可多继承接⼝,但类只能单继承
13.表单提交Get和Post⽅式的区别
get是从服务器上获取数据,post是向服务器传送数据。java重写和重载的区别
get传送的数据量较⼩,不能⼤于2KB。post传送的数据量较⼤,⼀般被默认为不受限制。
但理论上,IIS4中最⼤量为80KB,IIS5中为100KB。
get安全性⾮常低,post安全性较⾼。但是执⾏效率却⽐Post⽅法好。
<是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段⼀⼀对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内⼀起传送到ACTION属性所指的URL地址。⽤户看不到这个过程。
5. 对于get⽅式,服务器端⽤Request.QueryString获取变量的值,对于post⽅式,服务器端⽤Request.Form获取提交的数据。
请写出List ,Set,Map的区别
List接⼝和Set接⼝都是 Collection的⼦接⼝。所以都是单列集合,⼤部分操作相同,遍历都可以通过迭代器。
不同在于 List中的元素 是 有下标 有序 可重复的,Set中的元素 没有下标⽆序不可重复
Map 双列集合也叫映射,每个元素都有key(键)和value(值)两个对象组成组成
switch语句后括号⾥的表达式是什么类型
Byte short int char Enum枚举 Jdk1.7之后可以使⽤String
16.分别描述⼀下java三⼤特性
封装步骤
1.属性私有化 为所有的成员变量添加private关键字
2.公开属性的访问⽅法,get取值 set赋值
3.添加 有参数和⽆参数的构造⽅法
封装之后的对象使⽤.
封装之后的对象使⽤属性时,不能使⽤ 对象.属性 的⽅法,
只能通过对象的 set⽅法赋值,get⽅法取值。
继承和⽣活中的继承⼀样,继承者拥被继承者的特性。
在java中的继承关系通过 extends关键字体现,格式
Class ⼦类 extends ⽗类{类体}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论