Java面向对象基础——构造方法及this关键字
前言
在面向对象编程中,学会构造方法能使得代码更加简洁,本文将具体介绍有关构造方法及其相关的知识点
this关键字
定义
this关键字的用处是调用成员变量中的值,而不是通过就近原则调用方法里的值
作用
区别成员变量和局部变量
代码实现
用IDEA来实现一下
具体代码如下
package test5;
public class Person1 {
private int age;
public void method(){
int age = 18;
System.out.println(this.age);
System.out.println(age);
}
}
package test5;
import test3.Person;
public class Person1Test {
public static void main(String[] args) {
Person1 p = new Person1();
p.method();
}
}
可以看出 this.age 调用的是成员变量中的值,由于没有赋值,所以是默认值0.
构造方法
格式
public class 类名{
修饰符 类名(参数){
方法体;
}
}
构造方法也分为:空参构造和带参构造
特点
- 方法名与类名完全相同,大小写要一致
- 无返回值(return),也不需要void
- 一般用 public 声明变量
- 每个类至少有一个构造方法
- 构造方法可以重载
注意事项
- 如果没有定义构造方法,系统会给一个默认的无参数构造方法
- 如果定义了构造方法,系统不会提供默认构造方法
- 带参构造和空参构造是构造方法的重载
- 最好将带参构造和空参构造全部写上,防止出bug
代码实现
package test5;
public class Student {
//定义成员变量
private String name;
private String gender;
private int age;
//空参构造
public Student(){
}
//带参构造
public Student(String name, String gender, int age){
this.name = name;
this.gender = gender;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package test5;
public class StudentTest {
public static void main(String[] args) {
Student s = new Student("张三","男",18);
System.out.println(s.getName());
System.out.println(s.getGender());
System.out.println(s.getAge());
}
}
结语
构造方法是很重要的知识点,在下一篇中会介绍剩余的知识点