一道网红题:Java值传递,答案开始看了不太懂,是不是涉及到了匿名类的实例化?
题目如下:看起来是值传递的考察。。。
public class Test{
public static void main(String[] args){
int a = 10;
int b = 10;
method(a,b);//需要在method方法被调用后仅打印出a=100,b=200,请写出method的实现方法。
System.out.println("a="+a);
System.out.println("b="+b);
}
}
解答:
public static void method(int a,int b){
PrintStream printStream = new PrintStream(System.out){
@Override
public void println(String x){
if("a=10".equals(x)){
x="a=100";
}else if("b=10".equals(x)){
x="b=200";
}
super.println(x);
}
};
System.setOut(printStream);
}
posted on 2022-09-22 11:15 dequantianhe 阅读(11) 评论(0) 编辑 收藏 举报