1.final,finally,finalize的区别
- final:最终的意思,可以修饰类,方法和变量。
它修饰的类,不能被继承;它修饰的方法,不能被重写;它修饰的变量,不能被改变; - finally:是异常处理的一部分,用于释放资源的。它控制的代码永远会执行。在执行到finally之前,JVM退出了
- finalize:还是Object类的一个方法,用于垃圾回收。
- final:最终的意思,可以修饰类,方法和变量。
Math.round(11.5)等于多少?Math.round(-11.5)等于多少?
12 -11short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
前者有错,s1会自动提升为int类型,结果赋值给short类型,所以报错。
后者无错,+=这种赋值运算符隐含了强制类型转换。数组有没有length()这个方法? String有没有length()这个方法?
没有。
有。数组求长度用length属性
字符串求长度用length()方法
集合求长度用size()方法
- 写出JDK提供的5个常用类名,5个接口名,5个包名.
5个常用类名
String
StringBuilder
Integer
集合类(ArrayList,LinkedList,HashSet,HashMap)
IO流(FileReader,FileWriter,FileInputStream,FileOutputStream)
(BufferedXxx系列)
5个接口名
Collection
List
Set
Map
Iterator
Comparable
Comparator
跟数据库相关:Connection,Statement,PreparedStatement,CallableStatement,ResultSet
5个包名
java.lang
java.util
java.io
java.net
java.sql
java.math
java.awt
构造器Constructor(构造方法)不能被继承,因此不能重写Override,但可以被重载Overload。
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会。
前。当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递。
Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
问题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上
基本类型的包装类(如:Character、Byte、Short、Integer)
switch可作用于char byte short int
- switch可作用于char byte short int对应的包装类
- switch不可作用于long double float boolean,包括他们的包装类
- switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上)
- switch中可以是枚举类型