1.1构造方法的概述和使用
1.1.1构造方法作用概述
给对象的数据进行初始化
1.1.2构造方法格式
- 方法名与类名相同
- 没有返回值类型,连void都没有
- 没有具体的返回值
1.1.3案例代码
ackage com.itheima_08;
/*
* 构造方法:
* 给对象的数据进行初始化
*
* 格式:
* 方法名和类名相同
* 没有返回值类型,连void都不能写
* 没有具体的返回值
*
*/
public class Student {
public Student() {
System.out.println("这是构造方法");
}
}
package com.itheima_08;
public class StudentDemo {
public static void main(String[] args) {
//如何调用构造方法呢?
//通过new关键字调用
//格式:类名 对象名 = new 构造方法(...);
Student s = new Student();
}
}
1.2构造方法的注意事项
- 如果你不提供构造方法,系统会给出默认构造方法
- 如果你提供了构造方法,系统将不再提供
- 构造方法也是可以重载的,重载条件和普通方法相同
1.2.1案例代码
package com.itheima_01;
/*
* 构造方法:用于给对象的数据进行初始化
*
* 格式:
* 方法名和类名相同
* 没有返回值类型,连void都不能写
* 没有具体的返回值
*
* 构造方法的注意事项:
* A:如果我们没有给出构造方法,系统将给出一个默认的无参数构造方法供我们使用
* B:如果我们给出了构造方法,系统将不再提供默认的构造方法供我们使用。
* 这个时候,我们如果还想使用无参数构造方法,就必须自己提供。
* 我们推荐:自己给出无参数构造方法。
* C:构造方法也是可以重载的。
*
* 给成员变量赋值的方式:
* A:通过setXxx()
* B:通过构造方法
*/
public class Student {
private String name;
private int age;
/*
public Student() {
System.out.println("这是构造方法");
}
*/
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);
}
}
package com.itheima_01;
/*
* 测试类
*/
public class StudentTest {
public static void main(String[] args) {
//如何调用构造方法呢?
//其实通过new关键字就可以
//格式:类名 对象名 = new 构造方法名(...);
Student s = new Student();
s.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("林青霞",30);
s4.show();
}
}
1.3 标准的类代码和测试
- 类:
- 成员变量
- 构造方法
- 无参构造方法
- 带参构造方法
- 成员方法
- getXxx()
- setXxx()
- 给成员变量赋值的方式
- 无参构造方法+setXxx()
- 带参构造方法
1.3.1案例代码十四
package com.itheima_02;
/*
* 标准的学生类
*/
public 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;
}
}
package com.itheima_02;
/*
* 测试类
*/
public class StudentTest {
public static void main(String[] args) {
//无参构造方法+setXxx()
Student s = new Student();
s.setName("林青霞");
s.setAge(30);
System.out.println(s.getName()+"---"+s.getAge());
//带参构造方法
Student s2 = new Student("林青霞",30);
System.out.println(s2.getName()+"---"+s2.getAge());
}
}