Java基础面试集合(一)

一.Java传递参数的两种方式:

    1. 值传递:(传值),八种基本数据类型和Stringfinal

    2. 引用传递:(传地址),其余复合类型接口(数组、类和接口

    3. 理解:针对Java参数,无论是原始类型还是引用类型,传递的都是副本:

        (1) 原始类型:传入的是副本(值),副本的值改变不会影响原始的值;

        (2) 引用类型:传入的是副本(地址),若new一个,则不会改变,否则地址改变,原始值也改变。

二. finalfinallyfinalize

    1. final:变量:不能修改;类:不能被继承;方法:不能被重载;

    2. finally异常处理关键字(执行finally块)

        try{}:非异常时执行try块代码;

        catch{}try中异常时执行finally块代码;

        finally{}:都必须执行;

    3. finalize:方法名,在堆永久删除对象之前,垃圾回收器调用该方法;

三. Java中字符串之间的转换:

     1. string

        (1) charstringstringvalueOf方法)

            Char c = ‘’;

            String s = string.valueOf(c);

        (2) charint:(强制类型转换)

            int i = (int) c;

    2. char

        (1) StringcharstringtoCharArray()[位置]方法)

        (2) intchar

            ① 强制类型转化:(当作ASCⅡ码处理,’(’)

                Int a = 40;

                Char c = (char) a;

            ② 先转成字符串,再转成char

                int a = 4;

                String str = String.valueOf(a);

                char[] array = str.toCharArray();

                for (int i = 0; i < array.length; i++)

                { System.out.print(array[i]); }

    3. int

        (1) Stringint(使用integerparseInt方法)

        (2) Charint(转为字符串,在使用parseInt方法)

    4. intinteger之间(intValue方法):

        Integer i1 = new integer(10)

        Int i2 = integer.intValue()

四. objectString中的equals区别:

    1. String而言:

        “equals”:(比较的是两个字符串的内容);

        “==”:(比较的是两个字符串对象的引用);

        String a = new String(“abc”);

        String b = new String(“abc”);

        String c = b;

        则:equals方法都为true==方法:a==bfalseb==ctrue

    2. Object而言:

        “equals”:(比较的是对象的引用

    3. String继承了Object类,equals方法进行了重写(引用->内容)

    4. 总结:

        Object.equals相等,String.equals一定相等

        String.equals相等,Object.equals不一定相等

 

五. Java中的intinteger之间的区别:

    1. int是基本数据类型,直接存放数值,初始默认为0

    2. Integer是对象,需要实例化,初始默认为null

    3. 享元模式:(自动拆箱和自动装箱)

  装箱:integer a = 10; (将数据类型转换成对象)

  拆箱:a++; (将对象转换成数据类型,进行运算)

 

六. 重载和重写区别:

    1. 重载(Overload)(多态):同一类中出现多个同名的方法(形参不同)

    2. 重写(Override):子类对父类的方法进行重新编写;

    3. 区别:(看看是不是在同一个类中

七. arrayListLinkedList的区别

    1. arrayList:基于动态数组;(读取数据使用方便,无需移动指针)

    2. LinkedList:基于链表;(增、删、加使用方便,移动指针)

猜你喜欢

转载自blog.csdn.net/vito_7474110/article/details/79642834