构造方法:
作用:给对象中的数据初始化
格式:
A:方法名与类名相同
B:没有返回值类型,连void都没有
C:没有具体的返回值
注意事项:
A:如果我们没有给出构造方法,系统将自动提供一个无参构造方法
B:如果我们给出了构造方法,系统将不再提供默认的构造方法
注意:如果这个时候如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法给
给成员变量赋值有两种方法:1.setXxx()。2.方法构造
class Student{
private int age;
private String name;
//构造方法,无参数构造方法
public Student() {
System.out.println("这是构造方法");
}
//方法重载,有参数构造方法
public Student(int age) {
this.age=age;
}
//方法重载,有参数构造方法
public Student(String name) {
this.name=name;
}
public void show() {
System.out.println(name+"---"+age);
}
}
public class GouZaoFangFa1 {
public static void main(String[] args) {
Student s=new Student();
System.out.println(s);//GouZaoFangFa.Student@7852e922这里输出的是地址
System.out.println("------------");
Student s1=new Student("张三");
s1.show();
System.out.println("------------");
Student s2=new Student(27);
s2.show();
}
}
构造方法练习
学生类:
成员变量:name,age
构造方法:无参,带两个参数
成员方法:getXxx(),setXxx()
show()输出所有类的所有成员变量值
给成员变量赋值
A:setXxx()方法
B:构造方法
输出成员变量的值
A:getXxx()方法
B:show()方法全部输出
class StudentDemo{
private int age;
private String name;
public StudentDemo(){
}
public StudentDemo(int age,String name) {
this.age=age;
this.name=name;
}
public void setAge(int age) {
this.age=age;
}
public void setName(String name) {
this.name=name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void show() {
System.out.println(name+"---"+age);
}
}
public class Student1 {
public static void main(String[] args) {
StudentDemo s = new StudentDemo();
s.setAge(27);
s.setName("张三");
System.out.println(s.getName()+"---"+s.getAge());
System.out.println("------------");
StudentDemo s1 = new StudentDemo(27,"张三");
s1.show();
}
}