this 与 super 用法

package Extends;

/*super关键字用来访问父类内容而this关键字用来访问本类内容,方法有三种

1.在本类的成员方法中,调用本类的成员变量
2.在本类的成员方法中,访问本类的另一个成员方法
3.在本类的构造方法中,访问本类的另一个构造方法
    A.this(。。。)调用必须是构造方法的第一个语句(即有了this之后不会再赠送super)
    B.super和this两种构造调用,不能同时使用
*
* */
public class  Character_this extends Fu {
    int num = 20;

    public Character_this() {
        this(10);//调用本类中一个参数的构造方法
        System.out.println("构造方法1");

    }

    public Character_this(int n) {
        this(1,2);
        System.out.println("构造方法2");
    }

    public Character_this(int n, int m) {
        System.out.println("构造方法3");
    }

    public void showNum() {
        int num = 10;
        System.out.println("访问本类成员变量:");
        System.out.println(num);//调用局部变量
        System.out.println(this.num);//调用成员变量
    }


    public void methodA() {

        System.out.println("访问本类成员方法:");
        System.out.println("methodA");
        this.showNum();

    }
}

package Extends;
/*super关键字的三种用法:
* 1.在子类的成员方法中,访问父类的成员变量
* 2.在子类的成员方法中,访问父类的成员方法
* 3.在子类的构造方法中,访问父类的构造方法(包括无参以及全参)
*
* */
public class super关键字的三种用法 extends Fu {
    int num = 20 ;
    public super关键字的三种用法(){

        super();//访问父类的构造方法
    }
    public void methodsuper关键字的三种用法(){

        System.out.println(super.num);//父类中的num
    }
    public void method(){
        super.method();//访问父类中的method
        System.out.println("子类方法");
    }
}

package Extends;
/*JAVA类的继承的特点:(以后会学接口继承的特点)
  1.java语言是单继承的
      一个类的(直接父类)只有一个
  2.java语言可以多级继承
     java.lang.Object是所有其他类的父类
  3.一个子类的直接父类是惟一的,但是一个父类可以
  拥有多个子类
* */
public class Fu {
    int num= 10 ;
    public void method(){
        System.out.println("父类方法");
    }
}

package Extends;

public class impl {
    public static void main(String[] args) {
        Character_this ch = new Character_this();//调用本类另一个构造方法
//        ch.showNum();//调用本类成员变量
//        ch.methodA();//调用本类另一个成员方法
        super关键字的三种用法 sup = new super关键字的三种用法();
        sup.methodsuper关键字的三种用法();
        sup.method();
        int num =sup.num;
        System.out.println(num);
    }
}

你可能感兴趣的:(this 与 super 用法)