构造方法定义:给对象数据进行初始化
我们一直在使用构造方法,但是却一直没有定义,是因为 如果我们没有给出构造方法,系统将自动提供一个无参构造 方法
构造方法格式: 方法名和类名相同,没有返回值类型,没有具体返回值
以下都是构造方法:
private String name;
private int age;
public Student() {
System.out.println("这是无参构造方法");
}
//构造方法的重载
public Student(String name) {
this.name=name;
}
public Student(int age) {
this.age=age;
}
这也是构造方法:
public Student(String name,int age) {
this.name=name;
this.age=age;
}
若使用构造方法来设置数据还是要用get()方法来获取数据
但是由于构造方法对项目开发来说并不是有好的处理方式,而且当使用构造方法来传参时,需要多次new对象,就像上个代码块,在现实项目中肯定有多个变量,一次性的传入并不利于检测代码的正确性。因此我们在项目开发中多使用get(),set()
快捷方式是:写出成员变量后
Alt+Shift+S-->Geterate Getters and Setters-->在框内选择要传参的成员变量即可
最终显示:
static(可以修饰成员变量也可以修饰成员方法):
特点:
1:随着类的加载而加载;
2:优先于对象存在(原因是对象在new的时候才出现);
3:被类的所有对象共享(例如:全班学生共用一个班级编号;也就是说某个成员变量被所有对象共享是,使用静态static修饰);
4:可以通过类名调用也可以通过对象调用,但是推荐使用类名调用,因为静态修饰的内容,一般称是与类相关的,叫类成员。
这也就解释了main方法由于被静态修饰,并没有创建对象而可以直接被类名调用进栈
要注意: 在静态方法中没有this关键字(静态是随着类的加载而加载,this是随着对象的创建而存在,静态比对象先存在)
静态方法只能访问静态
非静态方法都可以访问