随笔

  • 编译器将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方法,因为可以重载
posted @ 2017-11-01 10:40  跨境电商杂货铺  阅读(234)  评论(0编辑  收藏  举报