super关键字的用法有三种:
1。在子类的成员方法中,访问父类的成员变量
2.在子类的成员方法中,访问父类的成员方法
3.在子类的构造方法中,访问父类的构造方法
public class Fu{
int num=10;
public void method(){}
public class Zi extends Fu{
int num=20;
public Zi(){
super();}
public void methodZi(){
System.out.println(num);//20
System.out.println(super.num);//10}
super.method()//访问父类中的method
System.out.println("子类的方法");}
this关键字用来访问本类当中的内容
1.在本类的成员方法中,访问本类的成员变量
public class Zi extends Fu{
int num=20;
public Zi(){
this(n:123;)//本类的无参构造调用本类的有参构造}
public Zi(int n){
}
public void showNum(){
int num=10;
System.out.println(num);//局部变量
System.out.println(num);//本类当中的成员变量
}
public void methodB(){
this.methodA();
System.out.println(''BBB");
}
public void methodA(){
System.out.println(“AAA”)}
2.在本类的成员方法中,访问本类的另一个成员方法
3.在本类的构造方法中访问本类的另一个构造方法
在第三种用法当中要注意:this(…)调用也必须是构造方法的第一个语句,唯一一个。super和this两种构造调用不能同时使用
public class Zi extends Fu(){
int num=20;
public void method(){
super.method();//调用了父类的方法
System.out.println("子类的方法执行");
}
public void show(){
int num=30;
System.out.println(num);//30
System.out.println(this.num);//20
System.out.println(super.num);//10
public class Demo{
public static void main(String[]args){
Zi zi=new Zi();
zi.show();
zi.method();
JAVA语言是单继承的,一个类的直接父类只能有唯一的一个。
class A{}
class B extends A{}//正确
class C{}
class D extends A,C{}
2.JAVA语言可以多级继承