当前位置: 代码迷 >> J2SE >> this的用法,该怎么处理
  详细解决方案

this的用法,该怎么处理

热度:71   发布时间:2016-04-23 20:08:04.0
this的用法
class Person
{
private int age;//为什么age要定义在类里
Person(int age)
{
this.age = age;
}
public boolean compare(Person p)
{
//int age = 5;  定义在局部里面就报错
return this.age == p.age;
}
}

class ThisDemo2
{
public static void main(String[] args)
{
Person p1 = new Person(20);
Person p2 = new Person(25);

boolean b = p1.compare(p2);
System.out.println(b);
}
}

------解决思路----------------------
我编译了你的代码,发现没有错误。

在Person类里为什么要定义age?这个是要看你的设计 ,一般定义在类里的变量,称为属性,因为在java里都是对象,所以这些变量是体现的对象的一些属性。

------解决思路----------------------
因为age是你定义的Person类的属性,而且你想给类的属性传值并用来比较,就必须定义在类Person的前面,因为当你执行主方法时,首先执行的就是类Person的构造方法,即给age赋值,所以定义在这最合适了。
你定义在这个public boolean compare(Person p)方法里肯定会报错啊。原因就是上面说的。当执行构造方法的时候,找不到变量age,就说报找不到符号的错误。
相信你明白了吧?
  相关解决方案