系列文章目录
学习目标
了解java中的部分关键字,继承,方法的重写,多态
前言
本文章适用于有一些编程基础的读者阅读,编写不容易,点个赞好不好
一、this关键字
当一个对象创建后,JVM就会给这个对象分配一个引用自身的指针,叫做this
(1).通过this来区分当前的对象,如果局部变量和实例变量名称相同,那么java平台会先寻找局部变量再寻找实例变量,而如果加上了this关键字,那么java就会跳过局部变量直接去寻找实例变量,如果找不到实例变量,就会编译错误。简单的说,当你通过对象来调用一个方法的时候,如果你要调用的对象的属性和方法的局部变量冲突的时候,就需要用到this,直接看代码。
public class study {
public static void main(String[] args) {
fun b = new fun(2,2);
System.out.println(b.sum(b));
}
}
class fun{
int x,y;
public fun(int x, int y){
this.x = x;
this.y = y;
}
public int sum(fun p){
return x + y;
}
}
在以上代码中,通过构造方法初始化的时候,b对象的x,y属性和fun函数局部变量x,y名称冲突,使用this.x就可以直接找到对象的x属性,然后将局部变量x的值赋给b对象的x属性。
(2).在构造器中调用其他构造器(好像没什么用,假如一个类中有多个构造器,可以节省代码的重复)
public class study {
public static void main(String[] args) {
fun b = new fun(3);
System.out.println(b.sum(b));
}
}
class fun{
int x,y;
public fun(int x, int y){
this.x = x;
this.y = y;
}
public fun(int x){
this(x,2);
}
public int sum(fun p){
return x + y;
}
}
(3).可以直接让类中的方法,去访问类中的另一个方法,实际上也可以不加this,因为编译器会自动为我们加上
public class study {
public static void main(String[] args) {
fun b = new fun(3);
System.out.println(b.sum1(2,3));
}
}
class fun{
int x,y;
public fun(int