请给出下面代码的输出结果 public class NotOverriding extends Base { private int i = 2; public static void main(String[] args){ NotOverriding no = new NotOverriding(); no.increase(); System.out.println(no.i); System.out.println(no.getI()); no = new NotOverriding(); no.increase(); System.out.println(no.i); System.out.println(no.getI()); } } class Base{ private int i = 100; public void increase(){ this.i++; } public int getI(){ return this.i; } }
时间: 2023-05-12 07:04:35 浏览: 77
程序的出出结果
输出结果为:
3
100
3
100
解释:
在 NotOverriding 类中,i 的初始值为 2,而 Base 类中的 i 的初始值为 100。在 increase() 方法中,this.i++ 将 NotOverriding 类中的 i 值加 1,而不是 Base 类中的 i 值。因此,第一次输出结果为 3,第二次输出结果为 100。
在第二个 NotOverriding 对象中,i 的初始值仍为 2,因为它是一个新的对象。在 increase() 方法中,this.i++ 将 NotOverriding 类中的 i 值加 1,而不是 Base 类中的 i 值。因此,第三次输出结果为 3,第四次输出结果为 100。
阅读全文