题目
(多选题)下面代码执行后,正确的输出结果包括( )public class FinalFinallyFinalize (final StringBuilder sb = new StringBuilder("init");public static void main(String[] args) {FinalFinallyFinalize fff = new FinalFinallyFinalize();System.out.println(fff.sb.toString());fff.sb.append(" changed");System.out.println(fff.sb.toString());)}A. initB. init changedC. init initD. changed changed
(多选题)下面代码执行后,正确的输出结果包括( )public class FinalFinallyFinalize {final StringBuilder sb = new StringBuilder("init");public static void main(String[] args) {FinalFinallyFinalize fff = new FinalFinallyFinalize();System.out.println(fff.sb.toString());fff.sb.append(" changed");System.out.println(fff.sb.toString());}}
A. init
B. init changed
C. init init
D. changed changed
题目解答
答案
AB
A. init
B. init changed
A. init
B. init changed
解析
步骤 1:定义类和变量
在代码中,定义了一个名为 `FinalFinallyFinalize` 的类,并在类中定义了一个 `final` 修饰的 `StringBuilder` 类型的变量 `sb`,并初始化为 "init"。
步骤 2:创建对象并输出
在 `main` 方法中,创建了 `FinalFinallyFinalize` 类的一个实例 `fff`,然后调用 `fff.sb.toString()` 方法输出 `sb` 的当前值,此时输出为 "init"。
步骤 3:修改变量并再次输出
接着,调用 `fff.sb.append(" changed")` 方法,将 " changed" 追加到 `sb` 的当前值后面,然后再次调用 `fff.sb.toString()` 方法输出 `sb` 的当前值,此时输出为 "init changed"。
在代码中,定义了一个名为 `FinalFinallyFinalize` 的类,并在类中定义了一个 `final` 修饰的 `StringBuilder` 类型的变量 `sb`,并初始化为 "init"。
步骤 2:创建对象并输出
在 `main` 方法中,创建了 `FinalFinallyFinalize` 类的一个实例 `fff`,然后调用 `fff.sb.toString()` 方法输出 `sb` 的当前值,此时输出为 "init"。
步骤 3:修改变量并再次输出
接着,调用 `fff.sb.append(" changed")` 方法,将 " changed" 追加到 `sb` 的当前值后面,然后再次调用 `fff.sb.toString()` 方法输出 `sb` 的当前值,此时输出为 "init changed"。