Java的构造器方法、方法重载与引用传递
一、 构造器方法
构造器方法是用来方便创建对象的,有无参构造器方法和含参构造器方法。像public Student(){ }这样“()”内不写变量的就是无参构造器方法,Student(String name){ name =n; }这样里面声明了一个变量属性name的就是属于含参构造器方法。但是无参构造器方法在被调用时并不是说没有返回值,它可以返回学生这个对象的内存地址。
在我们创建某个对象时一般的格式是:类名 变量名=new 类名();如创建一个学生对象:Student st=new Student();这里的Student()就是类Student的构造器方法。
每一个类中默认的都有一个默认的构造器方法。

public class Student { 

//声明姓名属性 

 String name; 

 //声明学分属性 

 double score; 

 //定义学习这个方法 

 public void study(){ 

 Score++; 

 System.out.println(name+"在学习中,学分加1,现在学分是"+Score); 

 } 

} 

在这个学生类中就蕴含了public Student(){ }这个默认的构造器方法。在创建对象调用时,它可以返回学生变量的名字和学分。若加上构造器方法,就可变为 

public class Student { 

 //无参构造器方法 

public Student(){ 

} 

//构造时传入名字属性 

public Student(String name,int Score){ 

name =n; 

score =m; 

} 

//声明姓名属性 

 String name; 

 //声明学分属性 

 double score; 

 //定义学习这个方法 

 public void study(){ 

 Score++; 

 System.out.println(name+"在学习中,学分加1,现在学分是"+Score); 

 } 

}


二、 方法重载
在一个类中,两个或多个方法的方法名相同,但是他的参数个数、参数名或是参数的顺序不用的形式叫做方法重载,它是用来实现同一个对象以不同的形式来进行某件事的行动。如

//方法1 

public void study(){ 

 Score++; 

 System.out.println(name+"在学习中,学分加1,现在学分是"+Score); 

 } 

//方法2 

public void study(int hour,String a){ 

 System.out.println(“没在学习中”); 

 } 

//方法3 

public void study(String a,int hour){ 

 System.out.println(“不知在学什么”); 

 }


像这样的就属于方法的重载。在调用时,传入的参数和哪个方法定义时的参数相配,就调用对应的方法。如运行语句st.study(a,hour)时,就会调用方法2。
三、 引用传递
引用传递,就是指参数传递,传递的是对象的地址,对象的属性,而不是对象本身。代码:Student st=new Student();首先声明的是一个Student类变量名st,再将这个变量指向新建的对象Student,当我们在应用时就是这个变量名st。代码如下:

public class Student{ 

//定义属性,名字,学分 

 public String name; 

 public int score; 

//定义方法,学习方法 

 public void study(Language l){ 

 score--; 

 System.out.println(name+"学习了"+l.name); 

 } 

}


在Main函数中调用,并传入一个学生对象,代码如下:

//定义程序的启动类,该类用来实例化Student类的对象 

public class Main { 

//定义程序的入口主函数 

 public static void main(String [] args){ 

//实例化一个计算机语言类的对象 

 Language l = new Language(); 

//实例化一个Student类的对象 

 Student st = new Student(); 

//设置st对象的姓名和学分 

 st.Name("张三"); 

st.Score(4); 

 //调用学习方法 

 stu2.study(l); 

 } 

}