zoukankan      html  css  js  c++  java
  • Java中this和super的区别和应用

    Java中this和super的区别和应用

     1 /*
     2     问题是:
     3         1.我不仅仅要输出局部范围的变量num,还要输出本类成员范围的变量num。怎么办呢?
     4         2.我还想要输出父类成员范围的变量num。怎么办呢?
     5             如果有一个东西和this相似,但是可以直接访问父类的数据就好了。
     6             恭喜你,这个关键字是存在的:super。
     7             
     8     this和super的区别?
     9         分别是什么呢?
    10             this代表本类对应的引用。
    11             super代表父类存储空间的标识(可以理解为父类的引用,可以操作父类的成员,但不是父类的对象!)
    12 
    13         怎么用呢?
    14             A:访问成员变量
    15                 this.成员变量     调用本类的成员变量
    16                 super.成员变量    调用父类的成员变量
    17             B:访问构造方法(在子父类的构造方法问题讲)
    18                 this(...)        调用本类的构造方法
    19                 super(...)       调用父类的构造方法
    20             C:访问成员方法(在子父类的成员方法问题讲)
    21                 this.成员方法     调用本类的成员方法
    22                 super.成员方法    调用父类的成员方法
    23 */
    24 
    25 class Father {
    26     public int num = 10;
    27 }
    28 
    29 class Son extends Father {
    30     public int num = 20;
    31     
    32     public void show() {
    33         int num = 30;
    34         System.out.println(num);
    35         System.out.println(this.num);
    36         System.out.println(super.num);
    37     }
    38 }
    39 
    40 class ExtendsDemo5 {
    41     public static void main(String[] args) {
    42         Son s = new Son();
    43         s.show();
    44     }
    45 }
    输出的结果为:
    30
    20
    10
  • 相关阅读:
    A1023 Have Fun with Numbers (20分)(大整数四则运算)
    A1096 Consecutive Factors (20分)(质数分解)
    A1078 Hashing (25分)(哈希表、平方探测法)
    A1015 Reversible Primes (20分)(素数判断,进制转换)
    A1081 Rational Sum (20分)
    A1088 Rational Arithmetic (20分)
    A1049 Counting Ones (30分)
    A1008 Elevator (20分)
    A1059 Prime Factors (25分)
    A1155 Heap Paths (30分)
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/8449097.html
Copyright © 2011-2022 走看看