A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class lianxi6
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println(fu.x);
  6.                 fu a = new fu();
  7.                 a.y=10;
  8.                 a.fangfa2();//
  9.                 new fu().fangfa2();//这两个调用结果的区别为什么是这样?
  10.         }
  11. }
  12. class fu
  13. {
  14. static int x=1;
  15. public int y=5;
  16. void fangfa2()
  17.         {
  18.         System.out.println(y);
  19.         }
  20. }
复制代码

4 个回复

倒序浏览
罗锅!!!!
回复 使用道具 举报
那是两个不同的对象,fu类中的y变量实际是没变的,被操作的y变量是对象中的y变量,而不是类中的y变量。所以第二次创建对象时,调用的还是原本的y变量。
回复 使用道具 举报
new fu().fangfa2()//创建的这个匿名对象 ,y是类中初始化的y=5,
回复 使用道具 举报
看看…………
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马