一.什么是构造方法
所谓的构造方法,是一种特殊的方法,其作用是用来创建对象时初始化对象,即为对象成员变量赋初始值,总是与new运算符一起使用在创建对象的语句中。特别的,一个类是可以有多个构造函数,可以根据参数个数的不同或者参数类型的不同来区分它们,即为构造函数的重载。
构造方法是类的一个特殊的成员,在类实例化时会自动调用,其构造方法定义格式如下:
注意:
第一:修饰符列表目前统一写:public。千万不要写public static。
第二:构造方法名和类名必须一致。
第三:构造方法不需要指定返回值类型,也不能写void,写上void表示普通方法,就不是构造方法了。
二.方法重载
方法重载:在同一个类中,出现多个方法的方法名相同,参数列表不同(参数的个数、参数的类型、参数顺序)的现象。
1)在同一个类中
2)方法名相同
3)参数列表不同
4)与返回值类型、访问权限修饰符无关
变量作用域:变量按照其所在的位置,可以分为成员变量(全局变量)、局部变量两大类
成员变量:
作用类中其它结构外的变量,
成员变量的作用范围是整个类中都可以使用(在静态方法中不能使用非静态的成员变量,可以使用静态的成员变量)
成员变量系统会给它赋值一个默认值
在同一个类中,不能有同名的全局变量,全局变量和局部变量可以同名,在使用的时候,局部变量具有更高的优先级
局部变量:
作用方法中或者其它结构内的变量,
局部变量的作用范围只限于定义局部变量的结构中
局部变量没有默认值,在使用之前要进行赋值,否则会报错
在不同的方法内(获取其它结构内)可以有相同名称的局部变量,在同一个方法或者结构内不能有同名的局部变量
public class Student {
// 定义属性
String name;
int age;
char gender;
double height;
double weight;
String address;
double score;
long phoneNumber;
// Student类中有一个默认的无参构造函数,只是隐藏起来了,不显示而已
// 声明一个有参构造函数来创建对象
/*
* 访问权限修饰符 类名(参数列表){ 方法体 }
*/
public Student() {
}
public Student(String name, int age, char gender, double height, double weight, String address, double score,
long phoneNumber) {
// this表示当前调用此方法的对象,谁调用这个方法this就表示谁
this.name = name;
this.age = age;
this.gender = gender;
this.height = height;
this.weight = weight;
this.address = address;
this.score = score;
this.phoneNumber = phoneNumber;
}
// 声明一个方法来输出对象的所有信息
public void printInfo() {
System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",性别:" + this.gender + ",身高:" + this.height + ",体重:"
+ this.weight + ",地址:" + this.address + ",分数:" + this.score + ",电话:" + this.phoneNumber);
}
当你写完属性值时不需要在来写方法,直接构造方法让编辑器来帮你构造:
直接右键,选择Source,再选择Generate Constructor using Fields,编辑器会自动帮你构造好你需要的方法。
然后去测试代码里面写一个方法:
注意:写的值要和你的方法参数里面的值一 一对应,不然会报错。