zoukankan      html  css  js  c++  java
  • java之路 super

     1 /*
     2 super关键字:
     3 
     4 super关键字代表了父类空间的引用。
     5 
     6 super关键字的 作用:
     7 1. 子父类存在着同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员。
     8 2. 创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法。
     9 
    10 super关键字调用父类构造方法要注意的事项:
    11 1. 如果在子类的构造方法上没有指定调用父类的构造方法,那么java编译器会在子类的构造方法上面加上super()语句。
    12 2. super关键字调用父类的构造函数时,该语句必须要是子类构造函数中的第一个语句。
    13 3. super与this关键字不能同时出现在同一个构造函数中调用其他的构造函数。因为两个语句都需要第一个语句。
    14 
    15 
    16 super关键字与this关键字的区别:
    17 1. 代表的事物不一致。
    18 1. super关键字代表的是父类空间的引用。    
    19 2. this关键字代表的是所属函数的调用者对象。
    20 2. 使用前提不一致。
    21 1. super关键字必须要有继承关系才能使用。
    22 2. this关键字不需要存在继承关系也可使用。
    23 3. 调用构造函数的区别:
    24 1. super关键字是调用父类的构造函数。
    25 2. this关键字是调用本类的构造函数。
    26 */
    27 class Fu{
    28 
    29 int x = 10;
    30 
    31 String name;
    32 
    33 
    34 public Fu(){
    35 System.out.println("Fu类无参的构造方法..");
    36 }
    37 
    38 public Fu(String name){
    39 this.name = name;
    40 System.out.println("Fu类带参的构造方法..");
    41 }
    42 
    43 
    44 public void eat(){
    45 System.out.println("小头爸爸吃番薯..");
    46 }
    47 }
    48 
    49 
    50 class Zi extends Fu{
    51 
    52 int x = 20;
    53 
    54 int num;
    55 
    56 public Zi(String name,int num){
    57 super(name); //指定调用了父类带参的 构造方法...
    58 this(); // 调用本类无参构造方法..
    59 //super(); //指定调用了父类无参构造方法。。。
    60 System.out.println("Zi类带参的构造方法..");
    61 }
    62 
    63 public Zi(){
    64 System.out.println("Zi类无参的构造方法..");
    65 }
    66 
    67 
    68 public void print(){
    69 System.out.println("x = " +super.x);
    70 }
    71 
    72 public void eat(){
    73 System.out.println("大头儿子吃龙虾..");
    74 }
    75 }
    76 
    77 class Demo9 {
    78 
    79 public static void main(String[] args) 
    80 {
    81 Zi z = new Zi("狗娃");
    82 
    83 
    84 }
    85 }
  • 相关阅读:
    java 正则表达式匹配指定变量并替换
    Tomcat 架构原理解析到架构设计借鉴
    优雅的缓存写法,以及synchronized 和 ReentrantLock性能 PK
    应用开发笔记|MYD-YA157-V2开发板CAN BUS 总线通信实例
    Arm Keil MDK V5.33版本更新,欢迎下载!
    Arm Development Studio 2020.1版本下载更新
    设计模式 | 享元模式(Flyweight)
    设计模式 | 中介者模式/调停者模式(Mediator)
    设计模式 | 职责链模式(Chain of responsibility)
    设计模式 | 命令模式(Command)
  • 原文地址:https://www.cnblogs.com/aytsoft/p/5592477.html
Copyright © 2011-2022 走看看