sinat_21792769 2015-10-16 15:57 采纳率: 33.3%
浏览 1445
已采纳

急求分析两段JAVA代码(最近笔试碰到的)

public class NameClass {

private static  int x ;

public static void main(String[] args) {
    name(x);
    System.out.println(x);
}
public static void name(int x){
    x ++;

}

}
//请帮忙分析下为什么这断代码的输出为0?

package cn.com.test2;

public class A {

public static void testMethod(String name){
    System.out.println("hello"+name);
}

public static void main(String[] args) {
    testMethod("nick");
    //?
    ((A)null).testMethod("tom");//这句话是什么意思呢?求详细解答

}

}

  • 写回答

6条回答 默认 最新

  • qq1032101603 2015-10-16 16:31
    关注

    第一个程序;name函数操作的x的作用域只在name函数内,与外层的静态变量x无关。这个静态变量在类加载时就初始化为0了。
    第二个程序:先将null类 强制类型转换为A类型,然后通过这个A类型来调用静态方法testMethod。如果你用普通的方法就不能实现。
    在java中,对null进行强制类型转换不会报错,结果还是null。第二个程序也可以写成下面这样:

     A obj= null;
          obj.testMethod("Gook");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元