有参构造方法:
构造方法:用来创建对象的
特点:
1)方法名与类名相同
2)构造方法没有返回值,void也不写
3)创建类的时候,系统会给每个类默认添加一个无参构造方法
4)当我们在类中添加了有参构造方法之后,会覆盖系统默认添加的无参构造方法。
如果还需要使用无参构造方法,可以在类中手动添加
语法:
访问权限修饰符 类名(参数列表){ 方法体 }
//有参构造:参数列表要写
代码:
类:
package Param.demo;
public class Student {
//定义属性
String name;//姓名
int age;//年龄
char gender;//性别
double height;//身高
double weight;//体重
String address;//地址
double score;//分数
long phoneNumber;//电话
public Student(String name, int age, char gender, double height,
double weight, String address, double score, long phoneNumber) {
//this表示当前调用此方法的对象,谁调用这个方法this就表示谁
this.name = name;
this.age = age;
this.gender = gender;
this.height = height;
this.weight = weight;
this.address = address;
this.score = score;
this.phoneNumber = phoneNumber;
}
//声明方法输出对象所有信息
public void printInfo() {
System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",性别:" + this.gender
+ ",身高:" + this.height + ",体重:" + this.weight + ",地址:" + this.address + ",分数:"
+ this.score + ",电话:" + this.phoneNumber);
}
}
有参构造方法----->快捷有参构造法:单机右键--->Source--->倒数第三个(末尾单词为:Fields.)
快捷键:Alt+Shift+S---->倒数第三个
对象:
package Param.demo;
public class StudentTest {
public static void main(String[] args) {
//使用Student类里的有参构造函数创建对象,能不能在创建对象的时候一次性赋值?-->通过有参构造函数来实现
Student stu2 = new Student("光头强", 24, '男', 170.5, 135.8, "熊森林", 98.5, 13878784646L);
//调用Student类printInfo方法
stu2.printInfo();//对象名.方法名
}
}
无参构造方法:
类中有一个默认的无参构造函数,只是隐藏起来了,不显示而已
语法:
访问权限修饰符 类名(参数列表){ 方法体 }
//无参构造:参数列表不写
代码:
类:
package Param.demo;
public class Student {
//无参构造函数
//定义属性
String name;//姓名
int age;//年龄
char gender;//性别
double height;//身高
double weight;//体重
String address;//地址
double score;//分数
long phoneNumber;//电话
//声明方法输出对象所有信息
public void printInfo() {
System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",性别:" + this.gender
+ ",身高:" + this.height + ",体重:" + this.weight + ",地址:" + this.address + ",分数:"
+ this.score + ",电话:" + this.phoneNumber);
}
}
有参构造方法----->快捷有参构造法:单机右键--->Source--->倒数第三个(末尾单词为:Fields.)
快捷键:Alt+Shift+S---->倒数第三个
对象:
package Param.demo;
public class StudentTest {
public static void main(String[] args) {
//使用Student类里的无参构造函数创建对象
Student stu=new Student();
//给对象属性赋值,该对象的属性是一个一个进行赋值,比较麻烦
stu.name = "熊大";
stu.age = 16;
stu.gender = '男';
stu.height = 170;
stu.weight = 180;
stu.address = "熊森林";
stu.phoneNumber = 13012341234L;
stu.score = 99.5;
//调用Student类printInfo方法
stu.printInfo();
}
}
代码二:
类:
package Param.demo;
public class Teacher {
//定义属性
String name;//姓名
int age;//年龄
char gender;//性别
double height;//身高
double weight;//体重
String address;//地址
double score;//分数
long phoneNumber;//电话号码
//添加无参构造方法
public Teacher(){
}
//添加有参构造方法
public Teacher(String name, int age, char gender, double height,
double weight, String address, double score, long phoneNumber) {
this.name = name;//姓名
this.age = age;//年龄
this.gender = gender;//性别
this.height = height;//身高
this.weight = weight;//体重
this.address = address;//地址
this.score = score;//分数
this.phoneNumber = phoneNumber;//电话号码
}
public void print(){
System.out.println("姓名:"+this.name+",年龄:"+this.age+",性别:"+this.gender+",身高:"+this.height
+",体重:"+this.weight+",地址:"+this.address+",分数:"+this.score+",电话号码:"+this.phoneNumber);
}
}
对象:
package Param.demo;
public class TeacherTest {
public static void main(String[] args) {
//有参构建对象
Teacher teacher= new Teacher("王五", 22, '男', 189, 165, "安徽淮北", 89.5, 13888889999L);
//调用Teacher类里的print方法
teacher.print();//对象名.方法名
}
}