一、this关键字
1、概念:this代表本类对象的一个引用对象,构造函数中,this()必须放在第一行。
2、形式:
//name=name;
//age=age;
其实就是想把Student类的局部变量name的值赋值给成员变量,相当于你想操作是这样的:
//Student.name=name;
但是你不能直接写类名,这时候就用代表本类的对象this来完成。代码变成了:
this,name=name;
3、练习1:当变量名相同时
当局部变量和成员变量同名时,用于区分。
如果附近有同名变量,会遵从变量的就近原则,那么怎么调用成员变量呢?
package com.xsd.thisdemo;
//这个类用来测试this关键字
public class Test5_This {
public static void main(String[] args) {
//4、无参创建对象–自动触发无参构造
new Demo();
//6、含参创建对像–自动触发含参构造
new Demo(88);
}
}
//创建Demo类
class Demo{
public Demo() {
//3、再无参构造总使用含参构造的功能
// this(100);
System.out.println(“无参”);
}
public Demo(int age) {
//5、含参构造中调用无参构造的功能
this();//7、this关键字,使用再构造方法中,必须时第一条语句!!!
System.out.println(“含参”+age);
}
int sum=20;
int count=30;
public void show() {
int count=10;
System.out.println(count);//10,变量的就近原则
System.out.println(sum);//20
// Demo this = new Demo();
//1、this用来表示本类对象的引用,相当于底层会自动创建本类对象
//2、当局部变量名和成员变量名同名时,可以通过this来调用成员变量,否则会一直调用局部变量
System.out.println(this.count);//30
}
}
二、super关键字
1.在子类中,通过super关键字可以在子类中使用父类的功能
2.super关键字相当于是父类的一个引用该对象
3.如果在构造方法中使用,必须出现在调用位置的第一行
(在后面继承里面的入门案例会一起做案例,顺便作为super的示例)