构造方法的作用及创建
构造方法的作用就是用来初始化对象的,说白了,就是给你创建的对象赋值的。
构造方法必须和类同名
构造方法有分为有参构造和无参构造
public class Student
{
private String name;
private int grade;
public Student(){}//无参构造
public Student(String name,int grade)
{
this.name=name;
this.grade=grade;
}//有参构造
}
Student s1= new Student();//无参创建
Student s2= new Student(张三,120);//有参创建
无参构造怎么赋值呢?在类里面写方法·读入数据
public class Student
{
private String name;
private int grade;
public Student(){}//无参构造
public Student(String name,int grade)
{
this.name=name;
this.grade=grade;
}//有参构造
public void setName(String name)//输入姓名
{
this.name=name;
}
public void setGrade(int grade)//输入成绩数据
{
this.grade=grade;
}
///由于成员属性是私有的,所以如果我们要调用的话,不能直接访问,应该再写一个读取数据的函数
public String getName(String name)
{
return name;
}
public int getGrade(int grade)//访问私有的成员变量
{
return grade;
}
}
总代码
package Student; //打包
public class Student
{
private String name;
private int gate;//设置成员变量
public Student(){}//无参构造方法
public Student(String name,int gate)//有参构造方法
{
this.name=name;
this.gate=gate;
}
public void show()
{
System.out.println(name+"\n"+gate);//输出数据方法
}
public void setName(String name)//输入name方法
{
this.name=name;
}
public void setGate(int gate)//输入成绩方法
{
this.gate=gate;
}
public int getGate()//获取成绩方法
{
return gate;
}
public String getName()//获取姓名方法
{
return name;
}
}
import Student.Student;//导入Student类
import java.util.*;
public class P821
{
public static void main(String[] args)
{
Scanner in = new Scanner (System.in);
Student s1=new Student ();//无参构造方法创建对象s1
System.out.println("请输入姓名:");
s1.setName(in.nextLine())//调用函数输入姓名
System.out.println("请输入成绩:");
s1.setGate(in.nextInt());//调用函数输入成绩
s1.show();
Student s2=new Student("李四",60);//有参构造方法创建对象
s2.show();
}
}