构造方法:用来创建对象的方法
1)构造方法的名称与类名相同
2)构造方法没有返回值,void也不写
3)类创建好之后,系统默认提供一个无参构造方法,隐藏起来
4)添加有参构造方法之后,会覆盖无参构造方法,如果还需要使用无参构造方法,需要手动添加一个
this关键字:表示当前对象,指向使用方法的对象
public class Person {
//定义属性
private String name;
private int age;
private char gender;
private double height;
private double weight;
private String phoneNumber;
private String address;
private String hobby;
private String country;
private String job;
private String email;
//无参构造方法
public Person() {
}
//有参构造方法
public Person(String name, int age, char gender, double height,
double weight, String phoneNumber, String address, String hobby,
String country, String job, String email) {
this.name = name;
this.age = age;
this.gender = gender;
this.height = height;
this.weight = weight;
this.phoneNumber = phoneNumber;
this.address = address;
this.hobby = hobby;
this.country = country;
this.job = job;
this.email = email;
}
}
方法重载:
在同一个类中,多个方法的方法名相同,参数列表不同,这个现象就是方法重载,与方法的返回值和访问权限修饰符无关
参数列表不同体现在参数的个数,参数的类型,参数的顺序
public class Person {
//定义属性
String name;
int age;
char gender;
double height;
double weight;
String phoneNumber;
String address;
String hobby;
String country;
String job;
String email;
//三个preson方法, 参数列表不同的个数
public Person(String name,int age,char gender,double height,
double weight,String phoneNumber,String address,
String hobby,String country,String job,String email){
this.name = name;
this.age = age;
this.gender =gender;
this.height = height;
this.weight = weight;
this.phoneNumber=phoneNumber;
this.address = address;
this.hobby = hobby;
this.country = country;
this.job = job;
this.email = email;
}
public Person(String name,int age,char gender){
this.name = name;
this.age = age;
this.gender =gender;
}
public Person() {
}
}
成员变量和局部变量:
全局变量:
定义在类中方法外(循环结构外)的变量
成员变量的作用域是整个类中
成员变量可以不进行初始化,系统会给其一个默认值
同一个类中不能有同名的全局变量
同一个类中可以有同名的全局变量和局部变量,局部变量有更高的优先级
局部变量:
定义在方法内(循环结构内)的变量
局部变量的作用仅限于定义它的结构内
局部变量在使用之前要进行初始化,否则程序会报错
同一个方法中不能有同名的局部变量
public class Demo {
int num ;
public void test(){
int number;
int num=20;
System.out.println(num);
System.out.println(number);
}
public void demo(){
int number;
// The local variable number may not have been initialized 局部变量没有初始化
// System.out.println(number);
}
}