把String直接改为void就ok了,不用加那句return的语句了,然后在main方法下面依然要调用p.function()方法.作者: HM何伟 时间: 2013-3-23 21:57
怎样在这里可以写日记啊作者: 曾祥旭 时间: 2013-3-24 15:56
(1)首先你定义的function1方法是String类型,此时的结果需要用return进行返回值操作,需要在function1方法体中的this.name=name;语句之前加入return语句。
(2)你将name和age全部私有操作时,你最好需要要对外提供一个set和get方法,便于对成员变量的使用
(3)在function方法中,加入name=this.name;这条语句是没有任何意义的。
(4)this的作用范围:
(a)当局部变量与成员变量重名时,此时我们可以用this来区分。
class Person{
int num=88;//成员变量
public void method(){
int num=99;//局部变量
System.out.println(num);//99
System.out.println(this.num);//88
}
}
(b)this:代表它所在函数所属对象的引用。
class Person{
private int age;
Person(int age){//构造函数在进栈的时候,都有个this所属的引用,因为这个它给对应对象的年龄进行初始化的,
//哪个对象调用它,this就代表哪个对象。
this.age=age;
}
public boolean compare(Person p){
return this.age==p.age;
}
}
public class day03{
public static void main(String[] args){
Person p1=new Person(20);
Person p2=new Person(20);
boolean b=p1.compare(p2);
System.out.println(b);
}
}
此时,在compare方法中this.age代表的是p1的年龄,p.age就代表p2的年龄
(c)this关键字在构造函数中的调用
class Person{
private int age;
private String name;
Person(){