zoukankan      html  css  js  c++  java
  • 随笔

    • 编译器将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方法,因为可以重载
  • 相关阅读:
    Date日期对象
    JAVA适配器
    java 对象的多态性
    简单轮播
    ecshop 教程地址
    瀑布流js排列
    phpcms 搜索结果页面栏目不显示解决 方法
    手机自动跳转
    字串符转换数字、取小数点后两位数的方法
    js 判断鼠标进去方向
  • 原文地址:https://www.cnblogs.com/panxuejun/p/7765325.html
Copyright © 2011-2022 走看看