• Java基础系列--this、super关键字


    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8483623.html

    一、概述

      Java中this有两种用途,一种是用于指代当前对象,一种适用于指代构造器,当前类的构造器。

      super就专用于指代构造器,而且是超类的构造器。

      this关键字和super关键字关联之处来与二者皆可用于构造器中来调用其他构造器。

    二、this作用

    2.1 指代当前对象

      this指代当前对象时,是属于对象级别的存在,不可用于类级别的内容(静态内容)中。

      this多用于变量名与参数名称存在冲突时,用于区分对象的变量与参数。下面代码第9行的this就是这个用途。

     1 public class ThisTest {
     2     private String name;
     3 
     4     public String getName() {
     5         return name;
     6     }
     7 
     8     public void setName(String name) {
     9         this.name = name;
    10     }
    11 }

    2.2 指代构造器

      this指代构造器的时候,只能指代当前类的中的构造器,而且只能写在构造器中,且位于第一行,不能与super同时出现。

    1 public class ThisTest {
    2     public ThisTest(){}
    3     public ThisTest(int i){
    4         this();
    5     }
    6     public ThisTest(int i,int j){
    7         this(i);
    8     }
    9 }

      无参表示调用无参构造器,带参数表示调用指定参数构造器。

    三、super作用

      super类似于this第二个作用,不过它由于指代父类的构造器。

     1 class Father{
     2     Father(){}
     3     Father(String name){
     4         this();
     5     }
     6 }
     7 class Son extends Father{
     8     Son(){
     9         super();
    10     }
    11     Son(String name){
    12         super(name);
    13     }
    14 }

      注意,如果父类中无无参构造器,那么子类中也不应该存在无参构造器。

      super的用法和this类似。

  • 相关阅读:
    部署DNS正向解析-使域名和ip互相认识能够友好的访问
    部署NTP时间服务器-使时间同步
    Linux系统中常见的目录名称以及相应内容及用户管理相关文件
    systemctl常用操作
    部署NFS
    配置本地用户模式ftp服务 差个网上的
    js预解析
    jquery 三级联动
    js事件冒泡
    jquery 判断checkbox是否选中
  • 原文地址:https://www.cnblogs.com/V1haoge/p/8483623.html
Copyright © 2020-2023  润新知