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. Visual Studio 2012 和 SVN 结合实现版本控制 AnkhSvn

    第一步: 安装VisualSVN Server Manager. 下载地址:http://www.onlinedown.net/soft/89603.htm 第二步: 安装TortoiseSVN.注意 ...

  2. 芝麻HTTP:Ajax结果提取

    以微博为例,接下来用Python来模拟这些Ajax请求,把我发过的微博爬取下来. 1. 分析请求 打开Ajax的XHR过滤器,然后一直滑动页面以加载新的微博内容.可以看到,会不断有Ajax请求发出. ...

  3. Django学习-17-CSRF

    CSRF(跨站请求伪造)         用户请求获取数据时,加入一段加密字符串,只有服务器能反解.         XSS(跨站脚本攻击),JS脚本在网站中运行,如果获取到用户Cookie,可以利用 ...

  4. Django学习-5-模板渲染

    1. {{ 变量名 }}                          def func(request):                     return render(request, ...

  5. 关于省市联动的bug

    一,问题描述 1.1,原来的思路 1.1.1,初始化加载省份 $.ajax({ 'type' : 'POST', 'dataType' : 'json', 'url' : '${rc.contextP ...

  6. (python)剑指Offer(第二版)面试题14:剪绳子

    题目 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少 ...

  7. Spring AOP介绍

    1.介绍 AOP(面向切面编程)对OOP(面向对象编程)是一种补充,它提供了另一种程序结构的思路.OOP的模块单元是class,而AOP的模块单元是aspect.Spring中一个关键的组件是AOP框 ...

  8. 【CJOJ P1096】最佳老农

    http://oj.changjun.com.cn/problem/detail/pid/1096 Description FJ打算带着他可爱的N (1 ≤ N ≤ 2,000)头奶牛去参加" ...

  9. 【Luogu1414】又是毕业季II(数论)

    [Luogu1414]又是毕业季II(数论) 题面 题目背景 "叮铃铃铃",随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘 ...

  10. error:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException

    问题:调用的方法在一个接口类中,但我并没有注入那个被调用的类 解决:在UserEntity前加上@Autowired @Controller public class MainController { ...