1、当参数名和属性名相同的时候,Java会采用就近原则优先使用参数;如果要区分开来,那么可以使用this来区分,加上this.的表示属性,否则表示参数。
2、this(参数值,...);调用当前类中对应参数的构造方法。
注意:this表示当前调用的方法的对象。谁在调用方法,那么方法中的this就表示该对象。
我们现在看一下如何实现方法的重载
public class Student{
private String name;//姓名属性,私有
private int age;//年龄属性,私有
private int score;//学分属性,私有
/**
*构造函数,读取姓名和年龄属性
*/
public Student(String name,int age){
this.name = name;
this.age = age;
System.out.println("有参数的构造方法");
}
/**
*构造方法的重载
*/
public Student(){
System.out.println("没有参数的构造方法");
}
/**
*定义一个学习方法。每学习一次学分加1
*/
public void study(){
score++;
System.out.println(name+"正在学习中,学分是"+score);
}
public void study(String book){
System.out.println(name+"正在学习《"+book+"》中的内容");
}
}
定义一个用于运行的主函数的类
public class manager{
public static void main(String[] args) {
Student stu = new Student("张三",18);//实例化一个对象
for(int i=0;i<=5;i++){
stu.study();//学习六次
}
stu.study("数字电路与模拟电路");//学习方法的重载
}
}