周测2及其详细讲解
1、int和Integer有什么区别?
Integer是int的包装类,int则是java的一种基本数据类型;.int是基本的数据类型,直接存数值;Integer是int的封装类;integer 是对象,用一个引用指向这个对象;Integer 是一个类,是int的扩展,定义了很多的转换方法;int和Integer都可以表示某一个数值;
int和Integer不能够互用,因为他们两种不同的数据类型;
2、&和&&的区别?
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false;&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x33 & ++y>0) y会增长,If(x33 && ++y>0)不会增长;&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
3、构造方法是否可被重写(override)?
首先,构造器是不能被继承的,因为每个类的类名都不相同,而构造器名称与类名相同,所以根本谈不上继承;又由于构造器不能继承,所以就不能被重写。但是,在同一个类中,构造器是可以被重载的。
4、重载(override)与重写(overwirte)的区别?
方法重载实现的是编译时的多态;方法重写实现的是运行时的多态。
5、Error和Exception有什么区别?
Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛出的;Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。
6、运行时异常与受检异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。
7、列出一些你常见的运行时异常?
1.ArithmeticException(算术异常)
2.ClassCastException (类转换异常)
3.IllegalArgumentException (非法参数异常)
4.IndexOutOfBoundsException (下标越界异常)
5.NullPointerException (空指针异常)
6.SecurityException (安全异常)
The end !
Thank watching !