public class TestThis { int i=0 ; TestThis increment() { i++; return this; } void a() { System.out.println("i = " + i); } public static void main(String[] args) { TestThis testThis = new TestThis(100
时间: 2023-11-22 20:51:50 浏览: 67
); testThis.increment().a(); //输出 i = 1
}
}
这段代码的输出结果是 i = 1。因为在 main 方法中,创建了一个 TestThis 对象 testThis,并调用了它的 increment 方法,该方法会将对象的 i 属性加一,并返回 this。由于返回的是 this,即当前对象,因此可以在调用 increment 方法的同时,调用 a 方法输出 i 的值,即 1。
相关问题
请给出下列程序的运行结果并给出原因 public class TestThis { int i = 0; TestThis increment() { i++; return this; } void print() { System.out.println("i = " + i); } public static void main(String[] args) { TestThis testThis = new TestThis(100); testThis.increment().increment().increment().print(); } } 输出结果: ; 原 因:
程序的运行结果应该是 "i = 3"。
原因是在程序中,首先创建了一个 TestThis 的实例 testThis,并将其初始化为 i=100。然后连续调用了三次 increment() 方法,并且每次调用都返回了 this(即当前对象),所以连续三次调用 increment() 方法等价于如下代码:
testThis.increment();
testThis.increment();
testThis.increment();
每次调用 increment() 方法都会将 i 的值加 1,并返回当前对象 this,所以最终 i 的值增加了 3。最后调用 print() 方法输出 i 的值,因此输出结果为 "i = 3"。
JAVA代码解释:下列程序的输出结果为: public class TestApple { int i=0; Apple(int i){ this.i=i; } Apple increament(){ i++; return this; } void print(){ System.out.println("i="+i); } public static void main(String[] args) { Apple redapple=new Apple(1000); redapple.increament().increament().print(); }
这段Java代码的输出结果为 "i=1002"。
这段代码定义了一个名为 "TestApple" 的公共类,其中包含一个实例变量 "i" 和三个方法:构造函数 "Apple"、 "increment" 方法和 "print" 方法。
构造函数 "Apple" 接受一个整数参数 "i",并将其设置为实例变量 "i" 的值。
"increment" 方法将实例变量 "i" 的值加 1,并返回当前对象的引用。
"print" 方法将实例变量 "i" 的值打印到控制台。
在主方法中,我们创建一个名为 "redapple" 的 "Apple" 对象,传递参数值为 1000。然后,我们对 "redapple" 对象连续调用两次 "increment" 方法,并最终调用 "print" 方法打印实例变量 "i" 的值。由于 "increment" 方法返回当前对象的引用,因此我们可以使用连续调用的方式来多次增加实例变量 "i" 的值。最终输出结果为 "i=1002",说明实例变量 "i" 的值已经加了两次 1,从初始值 1000 变为 1002。
阅读全文