Java学习
day08
构造方法
1、定义:
构造方法是指在创建给定类的实例时调用的一个方法。它们与类同名,但不具备任何返回类型。
2、作用:创建对象Student stu = new Student();
3、格式:
pubic class 类名 {
修饰符类名( 参数 ) {
}
}
示例代码:
class Student{
privateStringname;
privateintage;
//构造方法
publicStudent(){
System.out.println(“无参构造方法”);
}
publicvoidshow(){
System.out.println(name+","+age);
}
/*
测试类
*/
public class Student Demo {
public static void main(String[]args){
//创建对象
Students=newStudent();
s.show();
}
4、功能:主要是完成对象数据的初始化
5、构造方法的注意事项:
①构造方法的创建
如果没有定义构造方法,系统将给出一个默认的无参数构造方法如果定义了构造方法,系统将不再提供默认的构造方法。
②构造构造方法的重载
如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数。
③构造方法推荐的使用方式
无论是否使用,都手工书写无参数构造方法。
④重要功能
可以使用带参构造,为成员变量进行初始化。
6、实例
例一:
①
package com.hg.demo01;
public class demo01Student {
public static void main(String[] args) {
Student stu1 = new Student();
stu1.show();
System.out.println("==========");
Student stu2 = new Student("黄子韬",27);
stu2.show();
stu2.setAge(28);
stu2.show();
}
}
②
package com.hg.demo01;
public class Student {
private String name;
private int age;
//构造函数
public Student(){
System.out.println(“无参构造方法”);
}
public Student(String name,int age){
System.out.println(“有参构造方法”);
this.name = name;
if(age>=0 && age<=100)
this.age = age;
else
System.out.println("age 参数不合法");
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return this.age;
}
public void show()
{
System.out.println("我叫:"+this.name+" "+this.age+"岁");
}
}
运行结果:
例二:
①
package com.hg.demo02;
/*
一个标准的类
1.所有成员都要使用private修饰
2.为每一位成员编写get set方法
3.编写一个无参构造函数
4.编写一个有参构造函数
*/
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name)
{
super();
this.name = name;
}
public Student(String name,int age)
{
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
②
package com.hg.demo02;
public class demo01Student {
public static void main(String[] args) {
Student stu1 = new Student(“刘德华”);
stu1.setAge(59);
System.out.println(“我是”+stu1.getName()+“我已经”+stu1.getAge()+“岁”);
System.out.println("============");
Student stu2 = new Student("彭于晏",39);
System.out.println("我是"+stu2.getName()+"我已经"+stu2.getAge()+"岁啦!!");
System.out.println("============");
Student stu3 = new Student("zhangyanju",18);
stu3.setAge(18);
System.out.println("我是"+stu3.getName()+"我已经"+stu3.getAge()+"岁啦!!"+"快满19岁啦!!");
}
}
运行结果:
tip:2020080605006