this 关键字
//this只能出现在一个类的内部。
//而且是出现在类个某个方法里。
//this代表的当前对象。—谁调用这个方法,this就是谁
//this能做什么呢?
//1、this可以访问本类的属性。
//2、this可以访问本类的方法。
//3、this可以调用本类的其他构造方法
super用来代表父类对象
//super能做什么呢?
//1、super可以访问父类继承的属性(必须符合访问修饰符的要求)
//2、super可以访问父类继承的方法(必须符合访问修饰符的要求)
//3、super可以调用父类的构造方法
//平时很少使用super?
//为什么呢?
//因为无论你通过super访问属性还是访问方法,你访问的
//属性和方法 子类已经继承过来了。所以我们用this就可以
//访问了
//什么时候用super呢?
//2种情形会用到super:
//1、调用父类的构造方法。(构造方法是无法继承,只能调用)
//2、当出现方法重写的时候,你想用父类的实现时。
public class Teacher extends Person {
public void testSuper() {
System.out.println(super.age);
super.method();
System.out.println(this.age);
this.method();
}
public void eat() {
System.out.println("在学校食堂吃饭");
//super.eat();
}
public void eat2() {
super.eat();
}
}
final 最终的。
-
final是一个关键字
-
这个关键字能修饰:变量、方法、类
-
final修饰变量:
-
说明这个变量只能赋值1次。
-
什么时候使用final修饰变量呢?
-
当你不希望别人改变变量的值的时候,使用final
-
final修饰方法:
-
被修饰方法不能被重写!
-
什么时候用final修饰方法呢?
-
当你不希望这个方法被子类重写的时候。
-
final修饰类:
-
被修饰的类不能被继承。
-
什么时候用final修饰类?
-
当你不希望别的类继承你的时候,使用final修饰类。
-
public final class Teacher {
//final修饰实例变量,实例变量也只能赋值1次
public final String sex = “男”;//final修饰静态变量,静态变量也只能赋值1次
public static final int count = 0;public final void finalMethod() {
System.out.println(“这是最终的实现,不能被子类重写”);
}
}