黑马程序员技术交流社区
标题:
关于类的小问题
[打印本页]
作者:
zhangle
时间:
2014-5-5 12:36
标题:
关于类的小问题
本帖最后由 zhangle 于 2014-5-5 12:45 编辑
class Student implements Comparable//该接口强制让学生具备比较性
{
private String name;
private int age;
Student(String name,int age)
{
this.name = name;
this.age = age;
}
public int compareTo(Object obj)
{
return 1;
//return -1;
/*
if(!(obj instanceof Student))
throw new RuntimeException("不是学生对象");
Student s = (Student)obj;
System.out.println(this.name+"...compare..."+s.name);
if(this.age>s.age)
return 1;
if(this.age==s.age)//比较
{
return this.name.compareTo(s.name);
}
return -1;
*/
}
public void setName(String n)
{
name = n;
}
public void setAge(int a)
{
age = a;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
复制代码
为什么不能用
public void setName(String name)
{
this.name = name;
}
作者:
菜小徐
时间:
2014-5-5 13:11
看来你还没有理解清楚啊
this.name=name是因为传进来的参数是name,为了分清两个name所以用this
而name = n;名字不一样,很明显就可以分清楚,
而这二个语句的目的都是一样的,都是把传进来的形参赋给变量name
作者:
zhangle
时间:
2014-5-5 14:01
我问的是为什么不能用 public void setName(String name)
{
this.name = name;
}
调试时用this.name = name会报错,用name = n不会报错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2