总结——构造方法
1.方法的重载与构造器
?
Java中方法的重载需要满足以下几个条件:
?
(1)方法名一样;
(2)方法在同一个类中;
(3)方法的形参列表不同(个数、类型、顺序)?
方法的重载和重写:
?
【重载】是指在一个类里面可以有多个方法名字相同的不同方法。但是方法的参数个数,顺序,不能相同,否则如何区分调用这些方法。
[作用]方便使用,如
System.out.print("It works.");
System.out.print(123456);//
这样你就可以直接调用而不用去管参数的具体类型,系统会根据你传递过去的参数,去调用相应的方法。(print(int arg)或者print(String arg))
【重写】是发生在当一个子类继承一个父类的时候,可以重写覆盖原来父类里面的方法(当然你也可以这几调用),当然这个方法和父类的方法名称一定要相同,参数也要相同,不然就不叫重写了。注意:有final修饰的方法不可以重写。
[作用]做你想做的,而不必大动干戈,加快开发。
你可以修改任何允许重载的类的方法,来达到你的目的,而不必重新写一个类。
public void study(){?
System.out.println("
学生都要自习!");?
}?
/*以下便是study 方法的重载*/
public void study(int time){??
???????????????????????????????????????
System.out.println("学生正在上课,需要上课:"+time+"分钟!");
?
this.study();
/*study方法的调用*/?
}?
Java中构造器条件:
?
(1) 类中的
构造函数名与类名一样;(2)构造函数没有返回
值类型;(3) 构造函数也可以实现重载;(4) 在默认情况下,系统会给每一个类自动生成一个构造函数。但是如果人为的定义了构造函数的话,系统就不会自动生成构造函数了。?
public Student(){?
this("王五");
/*只能由构造器调用构造器,初始化name值*/?
}
/*以下便是student类的重载*/?
public Student(String name){?
this.name=name;?
}?
构造器的作用:生成对象,并且我们可以对对象进行初始化。?
2、this关键字
This主要有两个用途:
?
1、
表示当前对象的引用,指代;特别是当函数参数名和成员变量同名时,用this进行区分。
?
public
class Student{?
String name;?
Public Student(String name){?
This.name=name?//这个this就是指代的student类中的st对象*?
}?
}?
String name =”未知”;
?
Student st=new String(name);
???
2、 方法、构造器进行互相调用,?
方法的调用格式为 this.方法名
?
构造器调用格式为 this(参数)
?
Public class student{?
public student(){?
This(“王五”)//调用第二个构造器,初始化name属性值?
}?
public student (String name){?
This name=name;//指代对象?
This(name,90);//调用第三个构造器,初始化name、score的值?
?
}?
public student (String name,int score)?
this name=name;?//指代对象?
this score=score;?//指代对象???
}