使用private 可以将类的属性封装起来比如
private int age;
这样如果去调用这个类的对象的话,
只能通过set get方法去调用,不可以直接访问,赋值。
set get 方法中 会出现this这个关键字。
看下面代码
public class student {
private int chinese;
private int math;
private int english;
public int getSum() {
int sum = chinese+math+english;
return sum;
}
public int getChinese() {
return chinese;
}
public void setChinese(int chinese) {
this.chinese = chinese;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}
public student(int chinese, int math, int english) {
super();
this.chinese = chinese;
this.math = math;
this.english = english;
}
public student() {
super();
}
}
this
this.chinese=chinese;
set方法中 this后面的chinese是对象的chinese。=号后面的chinese是调用这个方法是赋给的值。
都用chinese为了见名知意,this就是代表所在类的当前对象的引用。
方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。
get set
get return的chinese 是通过set方法中,通过外面赋值给chinese 然后再把这个chinese赋值给对象的chinese,从而return出去。
原理是 通过set方法 改变对象相关属性的值,再通过get方法去拿出这个属性的值。
构造器
构造器分为两种
1 有参构造 2 无参构造
不写构造器 系统会默认构造一个无参构造
格式如上图
有参为
public student(int chinese, int math, int english) {
super();
this.chinese = chinese;
this.math = math;
this.english = english;
}
无参为
public student() {
super();
}
构造器的作用:就是为了创建对象
有参构造器可以创建带着参数的对象
比如
student s2 = new student(97,98,99);
无参构造器可以创建没有参数的对象
比如
student s1 = new student();
注意的是
如果没写构造器 系统会自动构造一个无参构造
但是写了有参构造器 系统则不会构造无参
这样的话 如果不写无参的构造器就不可以创建没有参数的方法
比如
student s1 = new student();这种方法