package com.cn.This;
/**
* this与super的区别:
* 1.this相当于指向本类的对象的指针,调用本类的另一种类型的构造方法
* 2.super调用的是父类中形参相同的构造方法
* 3.两者都需要放在构造方法内的第一行
* 4.两者不能同时出现在一个构造函数中,因为this必然会调用其他的构造函数,进而会产生两个super
* 5.两者都指对象,所以不能在含有static的环境中使用
* @author P0111220
*
*/
class Person{
public void pro(String msg) {
System.out.println(msg);
}
public Person() {
// TODO Auto-generated constructor stub
pro("父类的无参构造方法!!");
}
public Person(String mString){
pro("父类含一个参数的构造方法:"+mString);
}
}
class Chinese extends Person{
public Chinese() {
// TODO Auto-generated constructor stub
super();//调用父类的构造方法
pro("调用父类的无参构造方法");
}
public Chinese(String name){
super(name);//形参相同指的是参数类型相同,参数名可以随便
pro("调用父类相同形参类型的方法:"+name);
} public Chinese(String name,int age){
this(name);//相当于指向本类中另一种类型的构造方法
pro("age:"+age);
}
}
public class ThisSuperTest {
public static void main(String[] args) {
Chinese chinese= new Chinese();
chinese = new Chinese("狗子");
chinese = new Chinese("狗子",12);
}
}

关于Java中this和super关键字的一些理解,代码中注释出都做了标注,也贴出了运行结果,希望对各位有用。

Java基础-this和super的区别的更多相关文章

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

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

  2. Java 基础 JRE和JDK的区别

    JRE(Java Runtime Environment,Java运行时环境)是Java程序运行所需的软件环境,包含Java虚拟机和Java基础类库. JDK(Java Development Kit ...

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

    一.super关键字

  4. [ 原创 ] Java基础1--Java中super和this的用法和区别

    许多同学在学习Java时分不清楚this和super的用法和区别,今天偶然发现一片加精的博文,看完内容准备自己也写下来积累一下 1.如果想在子类的构造方法中调用父类的构造方法,必须在子类的构造方法中使 ...

  5. Java基础-ArrayList和LinkedList的区别

    大致区别:  1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为Lin ...

  6. Java中this与super的区别

    this与super关键字在java中构造函数中的应用: ** super()函数 ** super()函数在子类构造函数中调用父类的构造函数时使用,而且必须要在构造函数的第一行,例如: class ...

  7. Java基础--接口和抽象类的区别

    任何不谈使用方法的空理论都是耍流氓 使用场景 · 如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧(Java1.8中接口也可以这么做了) · 如果你想实现多重继承,那么你必须使用接口 ...

  8. 【java基础】 == 和 equals() 的区别

    ==号和equals()方法都是比较是否相等的方法,那它们有什么区别和联系呢? 首先,==号在比较基本数据类型(指的值类型)时比较的是值,而用==号比较两个对象时比较的是两个对象的地址值: int x ...

  9. java基础——接口与抽象类的区别

    (1)首先接口和抽象类的设计目的就是不一样的.接口是对动作的抽象,而抽象类是对根源的抽象. (2)对于抽象类,一个类只能继承一个抽象类.但是一个类可以同时实现多个接口. (3)接口是公开的,里面不能有 ...

随机推荐

  1. Octave 命令积累

    Octave Learning : puts all elements into a single vector :put B at A's right :put B at A's Bottom :将 ...

  2. 【原】storm组件(架构层面)

    Strom集群遵循从主模式,主与从之间通过Zookeeper协作.架构层面上包括三个组件: 1) Nimbus Node 2)Supervisor Nodes 3)Zookeeper 其中Nimbus ...

  3. 20165304《JAVA程序设计》第二周学习总结

    课本内容总结 第一章 1.标识符与关键字 (1) 标识符由字母.数字.下划线"_".美元符号"$"组成,第一个字符不能是数字. 不能把java关键字和保留字作为 ...

  4. Delphi基础-数据类型

    枚举类型 Pascal程序不仅用于数值处理,还更广泛地用于处理非数值的数据.例如,性别.月份.星期几.颜色.单位名.学历.职业等. ​ 1. 枚举类型的定义 格式: type 枚举类型标识符=(标识符 ...

  5. [TJOI2016&&HEOI2016]求和

    BZOJ Luogu 求 \[f(n)=\sum_{i=0}^{n}\sum_{j=0}^{i}S(i,j)*2^j*j!\] 其中\(S(i,j)\)是第二类斯特林数 \(n\le10^5\),模\ ...

  6. [清华集训]小 Y 和恐怖的奴隶主

    题面在这里 题意 有一个\(Boss\)和他血量为\(m\)的随从奴隶主,每当奴隶主受到攻击且不死,并且\(Boss\)的随从个数\(<k\)时,就会新召唤一个血量为\(m\)的奴隶主.每次攻击 ...

  7. js中url跳转问题

    问题描述:列表中有不同的企业名字,每个企业名字都有一个不同的链接,用id做为参数区分.点击不同的名字,根据id的不同跳转到对应的详情页,设置连接如下: 1. url = http://localhos ...

  8. Css Secret 案例Demo全套

    Css Secret 案例全套 github地址 案例地址 去年买了一本CSS揭秘的css专题书,该书揭示了 47 个鲜为人知的 CSS 技巧,主要内容包括背景与边框.形状. 视觉效果.字体排印.用户 ...

  9. Spring @AfterReturning 总是返回null

    在学习Spring Aop时,遇到一个问题,当 @Around(环绕通知)与 @AfterReturning(后置通知)共存 时,@AfterReturning 通过属性 returning = &q ...

  10. Open Live Writer

    最近突然发现我的CSDN博客里面的很多内容都被删除了,虽然我没有用CSDN写博了,不过还是想到可能我现在用的博客园写博,如果有些内容敏感的话会不会也会被删除文章或者关掉我的博客.心里满是担心,于是想说 ...