this
this是什么
应用场景
构造器
注意事项
- 必须和类名相同
- 没有返回值
- 只要参数不同(个数不同,或者类型不同)
- 比如有参构造函数和无参构造函数
- 这两个的关系是重载(在一个类中)
- 有参构造函数相当于是创建了成员变量。即 创建对象时对 对象成员变量(属性)进行初始化赋值。
- 类在设计时,如果不写构造函数,Java是会自动生成一个无参构造函数的。
- 但是当类有了有参构造函数,Java就不会帮我们自动生成无参构造函数了,此时建议我们自己手写一个无参构造函数。
代码演示
package com.zhang.opp;
public class Test {
public static void main(String[] args) {
Student s1 = new Student();
s1.name = "张三";
s1.chinese = 100.0;
s1.math = 52.0;
s1.printAvarage();
s1.printGrades();
Student s2 = new Student("李四",12);
s2.printGrades();
}
}
package com.zhang.opp;
import java.sql.SQLOutput;
public class Student {
public String name;
public int age;
public double chinese;
public double math;
public void printAvarage(){
System.out.println(name+"的平均成绩是"+(chinese+math)/2);
}
public void printGrades(){
System.out.println(name+"的总成绩是:"+(chinese+math));
}
public Student(){
System.out.println("这个是无参构造函数");
}
public Student(String name,int age ){
this.name=name;
this.age=age;
System.out.println("这是有参构造方法");
System.out.println("name:"+name+"age:"+age);
}
}