一个很有意思的java代码例子

一个代码比较有意思,保存下来。很有深度的讨论,随便发下。
public class Monday {
   public static void main(String args[]) {
               【place holder】
      System.out.println("aaaa");
   }
}
问题:在括号内加几行代码,让打印aaaa那行打印出bbbb

方案1:
public class Monday {
   public static void main(String args[]) {
      try {
          String aaaa = "aaaa";
          Field field = String.class.getDeclaredField("value");
          field.setAccessible(true);
          char[] value = (char[]) field.get(aaaa);
          Arrays.fill(value, 'b');
      } catch (Exception e) {
      }
      System.out.println("aaaa");
   }
}

方案2:
public class Monday {
   public static void main(String args[]) {
      System.setOut(new PrintStream(System.out) {
         public void println(String str) {
            super.println("bbb");
         }
      });
      
      System.out.println("aaa");
   }
}
方案1是修改reference内容,方案2是重载
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值