- 编译器将Java源代码编译成字节码class文件
- 类加载到JVM里面后,执行引擎把字节码转为可执行代码
- 执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。
父类引用指向子类对象 抽象类也可以继承抽象类
父类引用指向子类对象 抽象类也可以继承抽象类
父类引用指向子类对象 抽象类也可以继承抽象类
链接:https://www.nowcoder.com/questionTerminal/ee7eace0eb97442498720200f96643ac
来源:牛客网
下列关于继承的描述正确的是()
-
在Java中允许定义一个子类的引用,指向父类的对象。
-
在Java中一个子类可以继承多个抽象类,在extends关键字后依次列出,用逗号隔开。
-
在Java中继承是通过extends关键字来描述的,而且只允许继承自一个直接父类。
-
在Java中抽象类之间不允许出现继承关系,所有的抽象类都相互独立。
下面代码的输出结果是什么?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class ZeroTest { public static void main(String[] args) { try { int i = 100 / 0 ; System.out.print(i); } catch (Exception e){ System.out.print( 1 ); throw new RuntimeException(); } finally { System.out.print( 2 ); } System.out.print( 3 ); } } |
正确答案: D 你的答案: D (正确)
3
123
1
12
下面代码的输出结果是什么?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class ZeroTest { public static void main(String[] args) { try { int i = 100 / 0 ; System.out.print(i); } catch (Exception e){ System.out.print( 1 ); throw new RuntimeException(); } finally { System.out.print( 2 ); } System.out.print( 3 ); } } |
-
1、inti = 100/ 0; 会出现异常,会抛出异常,System.out.print(i)不会执行,2、catch捕捉异常,继续执行System.out.print(1);3、当执行 thrownewRuntimeException(); 又会抛出异常,这时,除了会执行finally中的代码,其他地方的代码都不会执行编辑于 2015-12-29 14:35:20回复(4)
- 更多回答(40条)
-
还是需要理解Try...catch...finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。本题的catch语句块里面,打印完1之后,又抛出了一个RuntimeException,程序并没有处理它,而是直接抛出,因此执行完finally语句块之后,程序终止了
-
ConcurrentHashMap使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。发表于 2015-11-12 10:25:44回复(4)
-
Arrays.asList()将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!用这个对象对列表进行添加删除更新操作,就会报UnsupportedOperationException异常。在java7中,下列哪个说法是正确的:
正确答案: D 你的答案: D (正确)
ConcurrentHashMap使用synchronized关键字保证线程安全
HashMap实现了Collection接口
Arrays.asList方法返回java.util.ArrayList对象
SimpleDateFormat对象是线程不安全的
接口方法只有public
new了一个新的数组。即:在堆中分配了内存。而且默认初始化,基本类型是 0 ,布尔类型是 false ,引用类型为null执行下列代码后,哪些结论是正确的()?String[] s=new String[10];正确答案: B 你的答案: A (错误)
s[0]为未定义
s[9]为null
instance是java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象类,父类)的实例instanceof运算符能够用来判断一个对象是否为:正确答案: C 你的答案: A (错误)
一个类的实例
一个实现指定接口的类的实例
全部正确
一个子类的实例
下列哪一种叙述是正确的( )正确答案: D 你的答案: B (错误)
abstract修饰符可修饰字段、方法和类
抽象方法的body部分必须用一对大括号{ }包住
声明抽象方法,大括号可有可无
声明抽象方法不可写出大括号
选d,abstract修饰符用来修饰类和成员方法
1:用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能被实例化。
2:用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不提供具体的实现。
Abstract是Java中的一个重要关键字,可以用来修饰一个类或者一个方法。 修饰一个方法时,表示该方法只有特征签名(signature),没有具体实现,而是把具体实现留给继承该类的子类。一个类中只要有一个abstract 方法,那么这个类就要被声明为abstract,但是其中可以有非abstract方法。 abstract类可以使得类的设计者能够创建方法的原型,而真正的实现留给使用这个类的人。
下列哪个选项是错误的。()
正确答案: A D 你的答案: C (错误)
一个文件中只能有一个public class。
一个文件中可以有多个类。
一个类中可以有两个main方法。
若类中只含一个main方法,则必须是public的。
内部类也可以是public class
题目有些问题,一个类中只允许有一个public static void main,但是允许有两个main方法,因为可以重载
-