1.写出一维数组初始化的两种方式
    int[] s1 = new int[]{1,2,3,44};
    int[] s2 = new int[3];
    s2[0] = 1;
    s2[1]=2;
    数组一旦初始化,长度就是一定了,并且长度不可修改
    并且存储数据是一块连续存储的空间
    2.写出二维数组初始化的两种方式
    int[][] s1 = new int[3][6]
    int[][] s2 = new int{{3},{}}
    3.如何遍历如下的二维数组
    int[] arr= new int[][]{1,2,3}{3,4}};

    4.不同类型的一维数组元素的默认初始化值各是多少
    整数位 0 浮点数为0.0
    boolean 为 false
    引用数据类型 null
    5.一维数组的内存解析

    1.什么是方法的重载
    在同一个类中,方法名相同参数列表不同。
    参数列表不同表现为:
    1.参数的个数不同
    2.参数的数据类型不同
    3.参数的顺序不同

    2.说明java方法中的参数传递机制的具体体现?
    当传入的是一个引用数据类型的时候,传递的是地址值
    传入基本数据类型的时候,传入的是值。
    3.成员变量和局部变量在声明的位置上,是否有默认初始化值上,是否能有权限修饰符修饰上,内存分配的位置有何不同?
    成员变量由默认初始化值,局部变量没有默认初始化值。
    成员可以有,局部不可有
    成员变量分配在堆中。
    局部变量分配在栈中。当方法执行完就会出栈。
    4.谈谈return关键字的使用
    return关键字 作用在方法中的时候,无论有多少层循环,当执行到当前return语句的时候,整个方法都会结束。
    break,只结束当前循环。
    5.提供如下代码的内存解析

    1.什么是多态?什么是虚拟方法调用?
    父类的引用指向子类的创建,调用父类中被子类重写的方法,实际上调用的是子类中的方法。
    2.一个类可以有几个父类?一个父类可以有多少个子类?子类能获取直接父类的父类中的结构吗?子类能否获取父类中private权限的属性或方法?
    一个,无数个,可以,不可以
    3.方法的重写override/orerwrite的具体规则有哪些
    重写:
    发生在 子类和父类中,子类可以对父类已有的方法进行功能的扩充。
    重写的两个方法 形参列表必须 相同,方法名必须相同,子类中方法的权限不可以大于父类中的权限
    子类中出现的异常不能大于父类中出现的异常
    重载:
    发生在同一个类中,重载的方法之间必须方法名相同,参数列表不同
    参数列表不同表现为 个数不同,顺序不同,数据类型不同
    4.super调用构造器,有哪些具体的注意点
    super关键字必须写在构造器的最前边,他和this在同一个构造器中只能出现一个。

    1.static修饰的属性,相较于实例变量,有哪些特别之处?
    static:可以修饰的结构:
    属性
    static修饰的属性称为常量,保存在方法区的静态域中,随着类的加载而加载。
    实例变量保存在堆中。
    static可以用来修饰变量,方法,

    方法

    用来修饰方法:方法就成了静态方法
    静态方法不能调用普通方法,普通方法可以调用静态方法

    代码块
    静态代码块。

    内部类

    2.final可以用来修饰那些结构,分别表示什么意思?
    final 可以修饰类:不能被继承
    final可以修饰方法:不可被重写
    final可以修饰变量:必须立刻赋值,且不能再次赋值。

    3.代码实现单例模式的饿汉式?
    private static finally Lazyclazz lazyclazz = new Lazyclazz();
    private Lazyclazz(){
    }
    public static void getObject(){
    if(lazyclazz!=null){
    return this.lazyclazz
    }
    else{
    return new Lazyclazz();
    }
    }

    4.代码实现单例模式的懒汉式?
    private static Lazyclazz lazyclazz;
    private Lazyclazz(){

    }
    public sysncnices static void getObject(){
    if(lazyclazz!=null){
    return this.lazyclazz
    }
    else{
    return new Lazyclazz();
    }
    }
    5。类的属性赋值的位置有哪些?先后顺序为何?
    默认初始化,
    显示初始化,代码块中初始化
    构造器中初始化
    通过对象.属性的方法或者对象.方法的方式赋值

    1.关于接口和抽象类
    接口 :java7 之前,接口中只能有静态常量 和 抽象方法
    java8 之后,接口中可以有 默认方法和 静态方法

    抽象类:
    抽象类中可以有常量 变量 抽象方法 普通方法 静态方法。