内容:

1、this和super作用

2、继承关系图

1、this和super作用

this和super的作用:

  • this:区分本类中的成员变量和局部变量同名的情况,代指本类
  • super:区分子类中的成员变量和父类中的成员变量,代指父类

this和super调用普通成员与构造方法:

 // 调用普通成员:
this.成员变量 可以访问本类对象的成员变量
super.成员变量 可以访问父类对象的成员变量 this.成员方法() 可以访问本类对象的成员方法
super.成员方法() 可以访问父类对象的成员方法 使用this找本类,如果子类没有找父类
使用super找父类,如果父类没有不会去找子类 // 调用构造方法:
this(其他参数) 可以访问本类其他的构造方法
super(其他参数) 可以访问父类其他的构造方法 // 默认子类调用父类构造方法:
子类的每个构造方法中均有默认的super(),调用父类的空参构造。手动调用父类构造会覆盖默认的super();

this调用构造方法:

 public class Person {
private int age;
public Person(){
this(15);//这句话调用 下面带int参数构造
}
public Person(int age){
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
/*
* this调用本类中的其他构造方法
* 注意:this()语句形式必须写在构造方法的第一行
*/
public class Test {
public static void main(String[] args) {
Person p = new Person();
int a = p.getAge();
System.out.println(a);
}
}

super调用构造方法:

 // 注:子类的每个构造方法中均有默认的super(),调用父类的空参构造
public class Fu {
int a;
public Fu(){
System.out.println("父类的构造方法");
}
   public Fu(int a){
this.a = a;
} } public class Zi extends Fu{
public Zi(){
super(666);
System.out.println("子类的构造方法");
}
}
public class Test {
public static void main(String[] args) {
new Zi(); // 匿名对象
   }
}

2、继承关系图

 //定义父类
public class Person {
private String name;
private int age; public Person(){}
public Person(String name,int age) {
this.name = name;
this.age = age;
}
// get/set方法
} //定义子类
public class Chinese extends Person{
private String address;
public Chinese(){}
public Chinese(String name,int age,String address) {
super(name,age);
this.address = address;
  }
// 对address的get/set
} //定义测试类,使用子类创建对象
public class Test{
Chinese c = new Chinese(“AngelaBaby”,18,”北京海淀区上地软件园”);
}

Java的this和super总结的更多相关文章

  1. Java中this与super的区别【6】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...

  2. Java基础-this和super的区别

    package com.cn.This; /** * this与super的区别: * 1.this相当于指向本类的对象的指针,调用本类的另一种类型的构造方法 * 2.super调用的是父类中形参相同 ...

  3. java方法重写和super关键字

    //java方法重写和super关键字 //在继承中,其实就是子类定义了和父类同名的方法 //就是方法,属性都是相通的 //重写限制: //被子类重写的方法不能拥有比父类方法更加严格的权限 //sup ...

  4. java基础学习总结——super关键字

    一.super关键字

  5. JAVA中this和super用法

    参考网上资料和自行理解总结java中this和super中各自用法及其差异 <一>. this的用法 构造方法是创建java对象的重要途径,通过new关键字调用构造器时,构造器返回该类的对 ...

  6. java的继承 和super关键字 构造器

    面向对象的特性二继承: 继承的好处: 1.减少代码的冗余.提高了代码的复用性 2.便于功能的扩展 3.为之后多态的使用,提供了前提 继承的格式: class A extends B{} A:子类.派生 ...

  7. Java泛型中的? super T语法

    ? super T 语法将泛型类限制为所有T的超类(包括T自身),但只能用于参数中,不可以在返回值用加以限定.如果不加以限定,假设某个函数头为? super Manager get()由于编译器不知道 ...

  8. [Java基础]java中this和super

    一.this关键字 1.this概念 (参考:http://www.cnblogs.com/xdp-gacl/p/3636071.html)   this是一个引用,它指向自身的这个对象,它的内存分析 ...

  9. Java关键字this、super使用总结

    版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. 作者:熔岩日期:2007-03-01MSN :leizhimin@126.com声明:原创作品,未经授权,谢绝转载! 好久没有对所学知 ...

  10. Java中 final static super this instanceof 关键字用法

    一.final关键字 final可以修饰变量.方法及类: 1.当定义一个final变量时,jvm会将其分配到常量池中,其所修饰的对象只能赋值一次,对基本类型来说是其值不可变,引用类型(包括作为函数形参 ...

随机推荐

  1. I.MX6 ar1020 SPI device driver hacking

    /************************************************************************************ * I.MX6 ar1020 ...

  2. hdu1301 Jungle Roads 最小生成树

    The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was s ...

  3. 租酥雨的NOIP2018赛前日记

    租酥雨的NOIP2018赛前日记 离\(\mbox{NOIP2018}\)只剩下不到一个月的时间辣! 想想自己再过一个月就要退役了,觉得有必要把这段时间的一些计划与安排记录下来. 就从国庆收假开始吧. ...

  4. test20180828

    所有试题限制都为512MB,1Sec 总分230. 试题1 新的开始 [题目描述] 发展采矿业当然首先得有矿井, 小FF花了上次探险获得的千分之一的财富请人在岛上挖了n口矿井, 但他似乎忘记考虑的矿井 ...

  5. C#常用插件和工具

    Code generation(代码自动生成) NVelocity CodeSmith X-Code .NET XGoF - NMatrix / DEVerest Compilation(编译工具) ...

  6. 【转】每天一个linux命令(61):wget命令

    原文网址:http://www.cnblogs.com/peida/archive/2013/03/18/2965369.html Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于 ...

  7. druid:阿里巴巴开源,数据库连接池管理

    官方地址:https://github.com/alibaba/druid

  8. CentOS6.8 x64+Nginx1.3.8/Apache-httpd 2.4.3+PHP5.4.8(php-fpm)+MySQL5.5.28+CoreSeek4.1源码编译安装

    系统为CentOS6.8 x64服务器版精简安装. 准备工作 部署安装目录 /usr/local/* /var/lib/* /var/lib64/* 下载源文件 #cd /usr/local/src ...

  9. QString和char字符串数组之间的转换 (转)

    做串口通信时,碰到这样的问题,在Qt的界面中,我用QLineEdit对象负责显示发送和接收的文本,对其中的数据进行读取和显示使用的数据类型都是QString:但是,在对串口设备进行读写时,数据使用的形 ...

  10. Ionic 安装最新版本错误

    更新Ionic版本时 npm i -g ionic@latest 出现如下错误 npm ERR! Unexpected end of input at 1:14782 如下图 解决方法 使用如下命令: ...