面向对象,构造方法
进行方法构造时,含有参数的方法和无参构造方法的方法名和类名一致。
关于类和对象
类是对对象的描述,是创建对象的“模板”,是对象的抽象
对象是表示现实世界中某个具体的事物,是类的一个实例,是类的实例化结果
//类名
public class PersonStruc {
//定义变量
String name;
String sex;
double height;
double weight;
String WorkSpace;
String career;
String school;
String phone;
//实参构造方法
//方法名与类名一致
public PersonStruc(String name,String sex,double height,double weight,String WorkSpace,String career,String school,String phone) {
this.name = name;
this.sex = sex;
this.height = height;
this.weight = weight;
this.WorkSpace = WorkSpace;
this.career = career;
this.school = school;
this.phone = phone;
}
//无参构造方法
public PersonStruc() {
}
//其他方法
public void PerInfor() {
System.out.println("--------个人简介----------------");
System.out.println("姓名:"+name+"\n"+"性别:"+sex+"\n"+"身高:"+height+"cm"+"\n"+"体重:"+weight+"Kg"+"\n"+"工作地点:"+WorkSpace+"\n"+"职业:"+career+"\n"+"学校:"+school+"\n"+"联系方式:"+phone+"\n");
System.out.println("--------谢谢参与----------------");
}
}
public class MainTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
while(true) {
Scanner sc = new Scanner(System.in);
System.out.println("请依次输入姓名,性别,身高,体重,工作地点,职业,学校,11位电话号码");
String name = sc.next();
String sex = sc.next();
double height = sc.nextDouble();
double weight = sc.nextDouble();
String WorkSpace = sc.next();
String career = sc.next();
String school = sc.next();
String phone = sc.next();
//实例调用类方法
PersonStruc Linder = new PersonStruc(name,sex,height,weight,WorkSpace,career,school,phone);
Linder.PerInfor();
}
}
}
运行结果:
请依次输入姓名,性别,身高,体重,工作地点,职业,学校,11位电话号码
Linder 男 175.5 59.3 无 学生 河南科技学院 18790167936
--------个人简介----------------
姓名:Linder
性别:男
身高:175.5cm
体重:59.3Kg
工作地点:无
职业:学生
学校:河南科技学院
联系方式:18790167936
--------谢谢参与----------------
体会构造方法调用时和Scanner有的一拼。
{体会上面的代码段和Scanner函数的区别}
Scanner sc = new Scanner(System.in);
int(数据类型) a(变量名) = sc.nextInt();
其中Scanner就相当于构造方法,而nextInt就相当于构造的类里面的一个方法,不一定是构造方法。
最后
构造方法的特殊性
构造方法的主要作用是完成对类对象的初始化工作
在创建new()一个类的新对象时,系统会自动调用该类的构造方法为新对象初始化 构造方法不能由 编程人员显式地直接调用
构造方法没有返回类型 构造方法的方法名与类名相同