zoukankan      html  css  js  c++  java
  • 子类继承父类,那么各代码块的执行顺序为:

    子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是:

    • 父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数

    解析:

    按照先后顺序:
    1,静态先于非静态代码库执行(静态代码块随着类的加载而加载,初始化只执行一次)
    2,父类先于子类
    3,非静态代码块优于构造函数执行
     
    -----------------------------------------------------------------------------------------------------------------------------
    ArraryList 与linkedList的区别:
    ArraryList:1.ArrayList是基于数组的,所以,具备随机访问特点;
                     2.ArrayList插入或删除一个元素的开销不是固定的。在插入时,如果索引正确,容量够,则直接插入,插入位置之后的都需要移动,如果容量不够,还得扩充容量,开销当然不一样。删除操作同理。
    linkedList:1.也可以通过也支持随机访问,但却付出了一定的代价。在LinkedList中,如果想返回某个位置的元素,就是从前往后遍历。如下。很明显,LinkedLIst不支持高效的随机访问
                    2.LinkedList是基于双链表的,增加是在尾部增加,增加和删除都只需要修改指针,不需要移动元素。
    Node<E> node(int index) {
        // assert isElementIndex(index);
     
        if (index < (size >> 1)) {
            Node<E> x = first;
            for (int i = 0; i < index; i++)
                x = x.next;
            return x;
        } else {
            Node<E> x = last;
            for (int i = size - 1; i > index; i--)
                x = x.prev;
            return x;
        }
    }

    ----------------------------------------------------------------------------------------------------------------------------

    A :错误
    default  String  s
    变量不能被defalut修饰
     
    B:正确
    public  final  static  native  int  w( )
    native修饰方法,native修饰的方法简单来说就是:一个Java方法调用了一个非Java代码的接口。
    定义navtive方法时,并不提供实现体,因为其实现体是用非Java语言在外面实现的。native可以和任何修饰符连用,abstract除外。因为native暗示这个方法时有实现体的,而abstract却显式指明了这个方法没有实现体。
     
    C:错误
    abstract  double  d
       abstract修饰方法和类
     
    D:错误
    abstract  final  double  hyperbolicCosine( )
    final修饰的方法不能被重写。而abstract定义的方法没有实现,必须被子类重写,明显不能一起使用。
  • 相关阅读:
    打印java 对象信息的小技巧
    git 忽略已经跟踪文件的改动
    mysql主从备份方案
    Lucene4.3和Lucene3.5性能对比(二)
    Lucene4.3和Lucene3.5性能对比(一)
    Cracking the coding interview--Q1.1
    CRACKING THE CODING INTERVIEW 笔记(1)
    关于名称重整(name mangling)、多态性的一些简单介绍
    shell中sed用法
    GDB调试GCC(jRate)
  • 原文地址:https://www.cnblogs.com/Lxiaojiang/p/6713235.html
Copyright © 2011-2022 走看看