JAVA - 基础 - 面试题

JAVA - 基础 - 面试题

  1. Java三种注释类型

    单行注释 //
    多行注释 /* … /
    文档注释 /
    * … **/

  2. 8种基本数据类型及其字节数
    在这里插入图片描述

  3. i++和++i的异同之处

    共同点:
    1、i++和++i都是变量自增1,都等价于i=i+1
    2、如果i++,++i是一条单独的语句,两者没有任何区别
    3、i++和++i的使用仅仅针对变量。 5++和++5会报错,因为5不是变量。
    不同点:
    如果i++,++i不是一条单独的语句,他们就有区别i++ :先运算后增1。如:

    int x=5;
    int y=x++;
    System.out.println("x="+x+", y="+y);
        //以上代码运行后输出结果为:x=6, y=5
    
    int x=5;
    int y=++x;
    System.out.println("x="+x+", y="+y);
        //以上代码运行后输出结果为:x=6, y=6
    
  4. final , finally和finalize的区别

    final关键字 , 指类被final修饰之后 , 不能被继承 ,不能派生子类 ,常量被声明final其值不能再改变
    finally是在异常处理时,无论任何情况下,都会被执行的代码块 , 一般用来释放资源
    finalize是对象被垃圾回收之前调用的方法

  5. 重写和重载

    重写规则(方法覆盖): -->前提:要有继承
    1. 参数列表相同
    2. 返回类型相同
    3. 访问修饰符要大于等于被重写方法的修饰符(public>protected>default(包权限)>private)
    4. 新方法不能抛出大于重写方法声明更广泛的异常类型
    例: 被重写方法申明了IOException ,重写方法不能申明Exception -->但是可以抛出非检查型异常

    重载规则(过载): —>前提:在同一个类中
    1.方法名相同
    2. 参数列表不同 (个数,类型,顺序)
    3.返回值可以不同
    4.访问修饰符可以不同

    重写和重载的区别:
    多态性的不同表现
    重写是父类与子类之间多态性的一种表现
    重载是一类中多态性的一种表现

  6. “static” 关键字是什么 ?

    “static” 关键字表明这个变量或方法属于类,能通过类名.直接调用

  7. static方法能被覆盖吗?

    不能,
    因为方法的覆盖是基于运行时的动态绑定 ,而static方法是编译时静态绑定的

  8. private方法能被覆盖吗?

    不能 ,
    因为私有的成员外界是看不到的 ,所以不存在覆盖问题

  9. return,break,continue三者区别?

    return 结束一个方法
    break 结束一层循环
    continue 跳过一次循环

  10. 两个对象值相同(x.equals(y) == true) ,但却可有不同的hash code ?

    不对 ,会有相同的 hash code
    (1)如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同;
    (2)如果两个对象的hashCode相同,它们并不一定相同。

  11. String s = new String(“abc”); 创建了几个String Object ?

    两个 , 一个字符串对象 , 一个字符串对象引用对象

  12. &和&&的区别?

    & :是位运算符 无论前面前面条件是否成立 ,后面判断都会执行
    &&: 是逻辑运算符 短路运算 : 前面条件成立 , 后面的判断才执行

  13. 单例模式

    1.饿汉式—>线程安全,效率高,但是不能延迟加载
    2.懒汉式—>线程安全,效率低,可以延迟加载
    3.静态内部类–>线程安全,效率高,可以延迟加载
    4.枚举–>线程安全,效率高,不能延迟加载–>但是可以避免反射创建和反序列化
    5.双重检测锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值