Java构造方法
夏志121 人气:0一、构造方法概述
构造方法是一种特殊的方法
作用:创建对象Student stu = new Student();
格式:
pucli class 类名{
修饰符 类名(参数){
}
}
功能:主要是完成对象数据的初始化
示例代码:
class Student { private String name; private int age; //构造方法 public Student() { System.out.println("无参构造方法"); } public void show() { System.out.println(name + "," + age); } } /* 测试类 */ public class StudentDemo { public static void main(String[] args) { //创建对象 Student s = new Student(); s.show(); } }
二、构造方法的注意事项
构造方法的创建
如果没有定义构造方法,系统将给一个默认的无参构造方法,如果定义了构造方法,系统将不再提供默认的构造方法
构造方法的重载
如果自定义了无参构造方法,还要使用无参构造方法,就必须再写一个无参数构造方法
推荐的使用方式
无论是否使用,都手工书写无参数构造方法
重要功能
可以使用带参构造,为成员变量进行初始化
示例代码:
/* 学生类 */ class Student { private String name; private int age; public Student() {} public Student(String name) { this.name = name; } public Student(int age) { this.age = age; } public Student(String name,int age) { this.name = name; this.age = age; } public void show() { System.out.println(name + "," + age); } } /* 测试类 */ public class StudentDemo { public static void main(String[] args) { //创建对象 Student s1 = new Student(); s1.show(); //public Student(String name) Student s2 = new Student("小红"); s2.show(); //public Student(int age) Student s3 = new Student(30); s3.show(); //public Student(String name,int age) Student s4 = new Student("小红",20); s4.show(); } }
三、标准类制作
需求:定义标准学生类,要求分别使用空参和有参构造方法创建对象,空参创建的对象通过setXxx赋值,有参创建的对象直接赋值,并通过show方法展示数据
示例代码:
class Student { //成员变量 private String name; private int age; //构造方法 public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } //成员方法 public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println(name + "," + age); } } /* 创建对象并为其成员变量赋值的两种方式 1:无参构造方法创建对象后使用setXxx()赋值 2:使用带参构造方法直接创建带有属性值的对象 */ public class StudentDemo { public static void main(String[] args) { //无参构造方法创建对象后使用setXxx()赋值 Student s1 = new Student(); s1.setName("小红"); s1.setAge(20); s1.show(); //使用带参构造方法直接创建带有属性值的对象 Student s2 = new Student("小红",20); s2.show(); } }
加载全部内容