Catalog
  1. 1. 牛客网Java基础习题总结
    1. 1.1. 第一题
    2. 1.2. 第二题
    3. 1.3. 第三题
    4. 1.4. 第四题
    5. 1.5. 第五题
Java习题笔记

牛客网Java基础习题总结

第一题

  • 本地方法:简单的讲,一个native Method就是一个Java调用非Java代码的接口。native方法表示该方法要用另外一种依赖平台的编程语言实现
  • 最终方法:final void F(){},这样定义的方法就是最终方法,最终方法在于子类中不可以被重写。
  • 最终类:final class A{},这样定义的类就是最终类,最终类不能被继承。
  • abstract修饰抽象类。

    第二题

  • 静态块:用static申明,JVM加载类时执行,仅执行一次。
  • 构造块:类中直接用{}定义,每一次创建对象时执行。

执行顺序优先级:静态块>main()>构造块>构造方法

以下代码执行后的输出结果为:aba

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Test
{
public static Test t1 = new Test();
{
System.out.println("a");
}
static
{
System.out.println("b");
}
public static void main(String[] args)
{
Test t2 = new Test();
}
}

第三题

可以附加或更新文件的I/O类:RandomAccessFile()

  • Error(错误):是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需要程序处理。

  • 检查异常(编译器要求必须处理的异常):除了Error,RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获他,要么用throws子句声明抛出它,否则编译不会通过。

  • 非检查异常(编译器不要求处置的异常):包括运行时异常(RuntimeException与其子类)和错误(Error)。

第四题

StringBuilder,StringBuffer和String都是final的,但是为什么STringBuilder,StringBuffer可以进行修改呢,因为不可变包括的是,引用不可变以及对象不可变,而这三个都是属于引用不可变(可就是地址不要变,里面的内容可以变),而StringBuilder,StringBuffer中都包含有append方法,可对对象中的内容进行增加。而 String a = “123” + new String(“456”)实际上底层是用了一个StringBuffer进行append。

第五题

多态的作用:

  • 不必编写每一子类的功能调用,可以直接把不同子类当父类看,屏蔽子类间的差异,提高代码的通用率/复用率。
  • 父类引用可以调用不同子类的功能,提高了代码的可扩充性和维护性。
Author: zycode1561
Link: https://zycode1561.github.io/2019/12/30/Java%E4%B9%A0%E9%A2%98%E7%AC%94%E8%AE%B0/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
  • 支付宝

Comment