[b][size=x-large]总结——构造方法
[/size][/b][size=large][b]1.方法的重载与构造器[/b][/size]
Java中方法的重载需要满足以下几个条件:
(1)方法名一样;
(2)方法在同一个类中;
(3)方法的形参列表不同(个数、类型、顺序)
[b][size=large]方法的重载和重写:[/size][/b]
【重载】是指在一个类里面可以有多个方法名字相同的不同方法。但是方法的参数个数,顺序,不能相同,否则如何区分调用这些方法。
[作用]方便使用,如
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方法的调用*/
}
[b][size=large]Java中构造器条件:[/size][/b]
(1) 类中的构造函数名与类名一样;(2)构造函数没有返回值类型;(3) 构造函数也可以实现重载;(4) 在默认情况下,系统会给每一个类自动生成一个构造函数。但是如果人为的定义了构造函数的话,系统就不会自动生成构造函数了。
public Student(){
this("王五");
/*只能由构造器调用构造器,初始化name值*/
}
/*以下便是student类的重载*/
public Student(String name){
this.name=name;
}
构造器的作用:生成对象,并且我们可以对对象进行初始化。
[b][size=large]2、this关键字[/size][/b]
This主要有两个用途:
1、[b] 表示当前对象的引用,指代;特别是当函数参数名和成员变量同名时,用this进行区分[/b]。
public class Student{
String name;
Public Student(String name){
This.name=name //这个this就是指代的student类中的st对象*
}
}
String name =”未知”;
Student st=new String(name);
[b]2、 方法、构造器进行互相调用,[/b]
方法的调用格式为 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; //指代对象
}
[/size][/b][size=large][b]1.方法的重载与构造器[/b][/size]
Java中方法的重载需要满足以下几个条件:
(1)方法名一样;
(2)方法在同一个类中;
(3)方法的形参列表不同(个数、类型、顺序)
[b][size=large]方法的重载和重写:[/size][/b]
【重载】是指在一个类里面可以有多个方法名字相同的不同方法。但是方法的参数个数,顺序,不能相同,否则如何区分调用这些方法。
[作用]方便使用,如
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方法的调用*/
}
[b][size=large]Java中构造器条件:[/size][/b]
(1) 类中的构造函数名与类名一样;(2)构造函数没有返回值类型;(3) 构造函数也可以实现重载;(4) 在默认情况下,系统会给每一个类自动生成一个构造函数。但是如果人为的定义了构造函数的话,系统就不会自动生成构造函数了。
public Student(){
this("王五");
/*只能由构造器调用构造器,初始化name值*/
}
/*以下便是student类的重载*/
public Student(String name){
this.name=name;
}
构造器的作用:生成对象,并且我们可以对对象进行初始化。
[b][size=large]2、this关键字[/size][/b]
This主要有两个用途:
1、[b] 表示当前对象的引用,指代;特别是当函数参数名和成员变量同名时,用this进行区分[/b]。
public class Student{
String name;
Public Student(String name){
This.name=name //这个this就是指代的student类中的st对象*
}
}
String name =”未知”;
Student st=new String(name);
[b]2、 方法、构造器进行互相调用,[/b]
方法的调用格式为 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; //指代对象
}