this:主要用于解决变量名称冲突问题
public class Is { double score; public void who(){ System.out.println(this); } public void who(double score){ if(this.score>score){ System.out.println(("GOOD")); }else{ System.out.println("failure"); } } } this就是一个变量,可以用在方法中 ,用来拿到当前对象,哪个对象调用方法,this就指向哪个对象,也就是拿到哪个对象。 this.score是上一个this即调用who方法时输入的score 即使前面出现两个成绩(例:s1.score=6,s2.score=8),但本着谁调用谁比较的原则,另一个并不会造成干扰
构造器:特殊的方法(方法名必须与类名相同)
public class 类名{
public 方法名(){
}
}
创建对象时(例:Student s1=new Student(),划线句子就调用了构造器,类本身可以作为一个类型)实质上是调用构造器
构造器的注意事项:
1.类在设计时如果不写构造器,java会为类自动生成一个无参数的构造器;
2.一旦定义了有参数构造器,java便不会帮我们的类自动生成无参数构造器,此时建议自己手写一个
构造器的调用
1.对象构建时,可以指定对象去调用哪个构造器执行
2.构造器常用于完成对象的初始化(常见的应用场景是完成对象的成员的变量的初始化赋值)
封装(面向对象的三大特征之一)
封装:用类设计一个对象处理某一个事物的数据时,应该把要处理的数据以及处理这些数据的方法,设计到一个对象中去
实体类(成员变量都私有并写有相应的getxxx,setxxx,方法,且类中必有一个公共的无参数构造器)