牛客刷题日记(2021-12-13)
题目:
代码String str=”123456a”;int i=Integer.parseInt(str);会报异常的是()
java.lang.NullPoninterException
java.lang.NumberFormatException
java.lang.RuntimeException
java.lang.ArrayindexOutOfBoundsException
解析:
java.lang.NullPoninterException:变量未被初始化、对象未赋值、对象为空(俗称的空指针异常)
java.lang.NumberFormatException:数据格式转换失败(integer的取值范围为:-128–127,超过范围都会访问false)
java.lang.RuntimeException:运行时异常
java.lang.ArrayindexOutOfBoundsException:数组下标越界
题目:
只有实现了()接口的类,其对象才能序列化。
Serializable
Cloneable
Comparable
Writeable
解析:
选A
B、可进行复制
C、比较器
D、hadoop中的接口
题目:
一个类中,有两个方法名、形参类型、顺序和个数都完全一样,返回值不一样的方法,这种现象叫覆盖。( )
正确
错误
解析:
正确答案: B
重载(overload)和重写(override)的区别: 重载就是同一个类中,有多个方法名相同,但参数列表不同(包括参数个数和参数类型),与返回值无关,与权限修饰符也无关。调用重载的方法时通过传递给它们不同的参数个数和参数类型来决定具体使用哪个方法,这叫多态。 重写就是子类重写基类的方法,方法名,参数列表和返回值都必须相同,否则就不是重写而是重载。权限修饰符不能小于被重写方法的修饰符。重写方法不能抛出新的异常或者是比被重写方法声明更加宽泛的检查型异常。
题目:
装箱、拆箱操作发生在: ()
类与对象之间
对象与对象之间
引用类型与值类型之间
引用类型与引用类型之间
解析:
正确答案: C
通俗的讲,就是基本数据类型和包装类之间的转换。如: int 类型和 Integer 类的转换
基本数据类型转化成包装类是装箱 (如: int --> Integer)。
包装类转化成基本数据类型就是拆箱 (如:Integer --> int)。
包装类就是引用类型,基本数据类型就是值类型。所以选C
题目:
假设 A 类有如下定义,设 a 是 A 类同一个包下的一个实例,下列语句调用哪个是错误的?()
class A{
int i;
static String s;
void method1() { }
static void method2() { }
}
System.out.println(a.i);
a.method1();
A.method1();
A.method2()
解析:
正确答案: C
非静态方法只能通过实例对象来调用,不能直接通过类名调用。静态方法(static)才能通过类名直接调用
题目:
在Java中,关于HashMap类的描述,以下正确的是 ()
HashMap使用键/值得形式保存数据
HashMap 能够保证其中元素的顺序
HashMap允许将null用作键
HashMap允许将null用作值
解析:
正确答案: A C D
题目:
下面属于java包装类的是?
String
Long
Character
Short
解析:
正确答案: B C D
Java 语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,即包装类。对应的基本类型和包装类如下表: