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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class Z {
  2.         int x;
  3.         Z(int i) {
  4.                 x = i;
  5.         }
  6.         public static void main(String args[]) {
  7.                 Z m1 = new Z(100);
  8.                 Z m2 = new Z(100);
  9.                 if (m1.equals(m2)) {
  10.                         System.out.println("Both are equal");
  11.                 } else {
  12.                         System.out.println("Both are not equal");
  13.                 }
  14.         }
  15. }
复制代码

4 个回复

倒序浏览
报错..         
回复 使用道具 举报
输出,else那个结果
要指出的是你的标识符命名的问题,太随意了;建议初学者标识符命名符合命名规范
下面是我对你程序的注释,希望对你理解有帮助
  1. class Z {
  2.         int x;                                                                                                                                //成员变量(属性)
  3.         Z(int i) {                                                                                                                        //有参构造器
  4.                 x = i;
  5.         }
  6.         public static void main(String args[]) {
  7.                 Z m1 = new Z(100);                                                                //在堆内存创建对象,调用有参构造器初始化
  8.                 Z m2 = new Z(100);                                                                //在堆内存创建另一个对象,调用有参构造器初始化(和上面属于2个不同对象)
  9.                 if (m1.equals(m2)) {                                                                //equals方法是比较2个对象的引用是否指向同一个对象
  10.                         System.out.println("Both are equal");
  11.                 } else {                                                                                                                //前面说过,m1和m2是在堆内存中不同位置的Z类对象,当然走else
  12.                         System.out.println("Both are not equal");
  13.                 }
  14.         }
  15. }
复制代码
回复 使用道具 举报
元笙 发表于 2016-5-31 00:16
输出,else那个结果
要指出的是你的标识符命名的问题,太随意了;建议初学者标识符命名符合命名规范
下面是我 ...

好的,学到了,谢谢啦。没办法这个是题目,谢谢啦
回复 使用道具 举报

没有报错啊,兄弟
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马