一、super()与this()

  1、super():

    • 只能出现在子类构造器中
    • 且必须位于第一行。
    • 所有子类构造器默认调用super()方法
    • 参数决定使用父类哪一个构造器。
    • 若父类没有相应的构造器,则报错。 

  2、this():

    • 只能出现在本类的构造器中
    • 且必须位于第一行
    • 用于调用本类中其他构造方法
    • 不能与super()同时出现在一个构造方法中

二、super、this关键字

  1、this

    • 指向当前对象本身
    • 形参与成员名重名,用于区分
    • this()

  2、super

    • 指向本类的引用
    • 子类的成员变量或方法与父类中的成员变量或方法重名,用于区分
    • super()

三、特别说明

  1、子类继承父类所有的属性和方法(构造方法除外;private可以说没有继承,也可以说继承了但是没有访问权限)

  2、子类实例化时,先实例化父类再实例化子类自己(先调用父类构造器,再调用子类构造器)

  3、在子类中创建构造器时,必须调用父类的构造器(默认调用父类的无参构造器)。

  4、static环境中不可在使用this、super关键字

四、代码

public class Demo1 {

    static int value = 9; // 注意value是静态的成员变量

    public static void main(String[] args) throws Exception {
new Demo1().printValue();
} private void printValue() {
int value = 69;
System.out.println(this.value);
}
} 结果: 9

Java super与this的更多相关文章

  1. Java super关键字活用

    在实际开发中我们要自定义组件,就需要继承自某个组件类,如果我们自定义的这个组件类也需要像被继承的这个组件类一样,拥有丰富的构造方法. 关键字super的作用就更加显得尤为重要了,你可以在堆砌自己自定义 ...

  2. java <? super Fruit>与<? extends Fruit>

    package Test2016; import java.util.ArrayList; import java.util.List; public class Test2016 { public ...

  3. Java super与this用法解析

    1.     子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println("Base" ...

  4. java super关键字

    子类用super操作被隐藏的成员变量和方法 Example5_7.java class Sum { int n; float f() { float sum=0; for(int i=1;i<= ...

  5. java super和this总结

    今天群里有人问我怎么复写父类的构造函数,我当时听错了以为是一般方法,然后就对他说只要同名就可以,然后他告诉我错了,我再仔细看,才知道他问的是复写 父类的构造方法,其实自己也不知道子类能不能复写父类的构 ...

  6. java super的用法

    通过用static来定义方法或成员,从某种程度上可以说它类似于C语言中的全局函数和全局变量. this&super这两个关键字的意义和用法. 在Java中,this通常指当前对象,super则 ...

  7. [Java学习] Java super关键字

    super 关键字与 this 类似,this 用来表示当前类的实例,super 用来表示父类. super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法.super 也可以用在子类的子类 ...

  8. Java super和this

    this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. this的用法在java中大体可以分为3种: 1.普通的直接引用 这种就不用讲了,this相当于是指向当前对象本 ...

  9. 四. Java继承和多态2. Java super关键字

    super 关键字与 this 类似,this 用来表示当前类的实例,super 用来表示父类. super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法.super 也可以用在子类的子类 ...

  10. java——super关键字、final关键字、throws关键字、访问控制

    super关键字: 当父类被重写之后,子类对象无法访问父类被重写的方法,super就是为了解决这个问题: 1.使用super关键字访问父类的成员变量和成员方法: super.成员变量 super.成员 ...

随机推荐

  1. cv常用名词缩写

    lr:learning rate roi:region of interest,可能包含目标的区域. wd:weight decay fps:frame per second,每秒几帧 fine tu ...

  2. java调用exe,及调用bat不成功的解决办法

    开门见山的说,文件目录如下 想调用123.exe,但是尝试了几次调用不到,然后写了个bat.初始内容如下 @echo off D: cd test "123.exe" 双击可以运行 ...

  3. dubbo学习笔记(一)超时与重试

    dubbo提供在provider和consumer端,都提供了超时(timeout)和重试(retries)的参数配置. 配置方式 provider端在<dubbo:service>中配置 ...

  4. 如何解决AndroidStudio下载资源慢的问题

    https://blog.csdn.net/LiangJianxiong/article/details/87881150方法1.build.gradle里的buildscript和allprojec ...

  5. handler四元素

    Looper 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列). 我们知道一个线程是一段可执行的代码,当可执行代码执行完成后,线程生命周期便会终止,线程就 ...

  6. document.onselectstart=function(){return false;} 引起的拖动问题

    在网页中拖动时,会引起某些文字或一些内容被选中,导致网页中蓝蓝的一片,视觉效果很差,所以我加了个1.document.onselectstart=function(){return false;}或者 ...

  7. linux简单命令8---软件包安装

    1:使用yum安装,它不能包查询和包校验.它安装的是RPM格式文件.没有yum文件 ---------------------------------------------------------- ...

  8. Delphi ActionList详解

    一个友好的用户界面,必须具有下拉菜单,弹出菜单,工具条和快捷键.同样一个功能,程序员可能要提供几种操作方式,如文本拷贝,菜单命令&Copy,快捷键Ctrl+C,工具条上的拷贝按钮,都是程序员提 ...

  9. 手写web框架之开发一个类加载器

    ackage io.renren.common; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUti ...

  10. C# 3Des加密解密

      第三方的加密规则约定:加密经过3DES加密后的Base64 编码 最近在对接一个第三方接口,请求参数和响应参数全采用3des加密规则,由于我是用.NET对接的,而第三方是Java开发的,所以两种程 ...