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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 彭威 中级黑马   /  2012-4-2 14:44  /  2764 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 彭威 于 2012-4-2 14:45 编辑

class person
{
  private int age;
  person(int age)
  {
    this.age=age;
  }
  public boolean same(person p)                 //定义一个问对象的属性年龄是否相同的功能或函数
  {
    return this.age==p.age;
  }
}
class nianling
{
        public static void main(String[] args)
        {
                person p1=new person(25);
                person p2=new person(20);
                boolean a=p1.same(p2);            //拿p2的、年龄问是否等于p1;p1.same(p2) ????
                System.out.println(a);
        }
}

boolean a=p1.same(p2);       的后半部分     p1.same(p2)        什么意思啊?


9 个回复

倒序浏览
p1的年龄是否跟p2相等
回复 使用道具 举报
能不能说的具体点啊  为什么p1后面是点same(p2);
回复 使用道具 举报
boolean a=p1.same(p2)

第一步, p1调用same()方法
第二步,same()方法将p1和p2的年龄进行比较,并返回boolean型
第三步,将返回值赋给boolean a
回复 使用道具 举报
本帖最后由 欧阳才志 于 2012-4-2 16:12 编辑

p1.same(p2)  是调用P1的same()方法,这个方法是怎么写的呢,有什么作用呢?

public boolean same(person p)                 //定义一个问对象的属性年龄是否相同的功能或函数
  {
    return this.age==p.age;           //这个方法啥也没有做,就是判断一下当前对象的年龄是不是跟定义对象的年龄一致,然后返回一个布尔值true or  false
  }

所以p1.same(p2)   这句的意思就是判断一下P1和P2这两个人的age是否相同。


整个程序段的意思就是定义一个person类,包含age等变量,和same()方法,然后再实例话两个对象,并判断两个人的age是否相等,并在控制台输出判断结果。
回复 使用道具 举报
额,我感觉你是传递变量参数引用变量那,没看懂.
程序流程是.1。创建对象,p1指向通过构造函数初始化,age=25的对象。
                        p2指向通过构造函数初始化,age=20的对象。
           2。boolean a=p1.same(p2);设置boolean型变量a指向p1.same(p2);p1.same(p2)为对象p1调用了本类的same方法,在same方法中,设置了变量类型为Person的变量p;
              记住一点:类型变量肯定指向对象。也就是说在same方法中p就指向了原来p2指向的对象。return this.age==p.age;返回现在使用函数对象的age与传递进来的对象的age
                     比较的boolean值。
                3。打印boolean型变量a的值就ok了
回复 使用道具 举报
person p1=new person(25);
person p2=new person(20);
boolean a=p1.same(p2)

第一步, new 了两个对象 p1和p2
第二步,p1调用same()方法,此方法需要Person 类型的对象作为参数传进
第三步, same()方法将p1和p2的年龄进行比较,此方法有返回值,返回值为 boolean类型
第四步, 定义boolean 类型的 a 作为变量来接收第三步的结果

对象调用方法格式:
对象. 方法名(参数)

此题也可写作 p2.same(p1) 与上述结果一样
回复 使用道具 举报
p1调用了same方法
如果返回值是ture,则 p1、p2相同
如果返回值是false,则不同
回复 使用道具 举报
p1与p2的年龄是否相同,p1调用了same的方法,same()方法将p1和p2的年龄进行比较,返回值为 boolean类型
回复 使用道具 举报
boolean a=p1.same(p2);  
p1.same 方法     p1是否于  某个对象相等
(p2)是方法传入的参数
结果 是true 或者 false
返回给a
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马