• java guide面试突击版


    1.重载,重写

    方法签名:方法名+参数列表。返回类型不是方法签名的一部分

    static修饰的方法不能被重写,因为重写基于运行时动态绑定。而static方法在编译期就和类绑定了。但是被static方法可以再次声明

    2.String 类中使⽤ final 关键字修饰字符数组来保存字符串, private final char value[] ,所以 String 对象是不可变的
    StringBuilder StringBuffer 都继承⾃ AbstractStringBuilder 类,在 AbstractStringBuilder 中也是使⽤字符数组保存字符串 char[]value 但是没有⽤ final 关键字修饰,

    所以这两种对象都是可变的。

    String 中的对象是不可变的,也就可以理解为常量,线程安全。


    3. Java 中定义⼀个不做事且没有参数的构造⽅法的作⽤
    Java 程序在执⾏⼦类的构造⽅法之前,如果没有⽤ super() 来调⽤⽗类特定的构造⽅法,则会调
    ⽤⽗类中没有参数的构造⽅法。因此,如果⽗类中只定义了有参数的构造⽅法,⽽在⼦类的构
    造⽅法中⼜没有⽤ super() 来调⽤⽗类中特定的构造⽅法,则编译时将发⽣错误,因为 Java
    序在⽗类中找不到没有参数的构造⽅法可供执⾏。解决办法是在⽗类⾥加上⼀个不做事且没有参
    数的构造⽅法。

    4. Java 序列化中如果有些字段不想进⾏序列化,怎么办?
    对于不想进⾏序列化的变量,使⽤ transient 关键字修饰。
    transient 关键字的作⽤是:阻⽌实例中那些⽤此关键字修饰的的变量序列化;当对象被反序列化
    时,被 transient 修饰的变量值不会被持久化和恢复。 transient 只能修饰变量,不能修饰类和⽅


    5. 获取⽤键盘输⼊常⽤的两种⽅法
    ⽅法 1:通过 Scanner

    Scanner input = new Scanner(System.in);
    String s = input.nextLine();
    input.close();

    ⽅法 2:通过 BufferedReader

    BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
    String s = input.readLine();

    6. Java IO 流分为⼏种?
    按照流的流向分,可以分为输⼊流和输出流;
    按照操作单元划分,可以划分为字节流和字符流;
    按照流的⻆⾊划分为节点流和处理流

  • 相关阅读:
    【TensorFlow】tf.nn.max_pool实现池化操作
    nginx页面不能正常访问排除方法
    Nginx启动错误:error while loading shared libraries: libpcre.so.1
    解决:make:cc 命令未找到的解决方法
    spring mvc:练习:表单验证(javaConfig配置和注解)
    spring mvc:练习:javaConfig配置和注解
    SpringMvc中的校验框架@valid和@validation的概念及相关使用 和BindingResult bindingResult
    springmvc的@Validated/@Valid注解使用和BindingResult bindingResult
    spring MVC注解深入研究
    spring mvc: 注解和JavaConfig实例
  • 原文地址:https://www.cnblogs.com/midiyu/p/15140704.html
Copyright © 2020-2023  润新知