• 编译器将Java源代码编译成字节码class文件
  • 类加载到JVM里面后,执行引擎把字节码转为可执行代码
  • 执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。

 

 

 父类引用指向子类对象 抽象类也可以继承抽象类 

 父类引用指向子类对象 抽象类也可以继承抽象类 

 父类引用指向子类对象 抽象类也可以继承抽象类 

 ​

来源:牛客网


下列关于继承的描述正确的是()


  • 在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条)
  • 86 重塑辉煌还是需要理解Try...catch...finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。本题的catch语句块里面,打印完1之后,又抛出了一个RuntimeException,程序并没有处理它,而是直接抛出,因此执行完finally语句块之后,程序终止了
  • ConcurrentHashMap使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。
    发表于 2015-11-12 10:25:44回复(4)
  • 135

    随笔_javasmartleon

    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方法,因为可以重载