今天通过一道题和师傅的讲解,领悟如下:
1
在同一包中子类可以调用父类不成员变量和方法(private除外),在不同包中private和default除外。super的应用只是针对于对构造方法的调用2
方法的形参可以与成员变量相同也可以是与成员变量不同的任何变量
3
this 除了是对付变量名相同之外还有
指向的意思,它会指向另一个方法
4 对于
super再次强调 调用必须在子类的构造方法中放在第一位,否则会报错
下面是
super和
this的区别:
super和this的异同:
1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)
2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)
3)super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参)
4)this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)
5)调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。
6)
super()和this()类似,区别是,super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。
7)super()和this()均需放在构造方法内第一行。
8)尽管可以用this调用一个构造器,但却不能调用两个。
9)this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
10)this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。
11)从本质上讲,this是一个指向本对象的指针, 然而super是一个Java关键字
分享到:
相关推荐
java的继承总结.doc
圣诞树python-32-继承总结.ev4.rar
python 零基础学习篇
封装继承多态总结
JAVA中的继承学习总结JAVA中的继承学习总结
c++继承与派生总结 面向对象的程序设计中提供了类的继承机制,允许程序员在保持原有类特性的基础上,进行更具体、更详细的类的定义。以原有的类为基础产生新的类,我们就说新类继承了原有类的特征,也就是说从原有类...
<本简缩教程的内容有: 1.创建类:类关键字、类及名空间、创建方法、创建属性、重载方法等。 2.... 3.继承:实现基本的继承、阻止继承、继承与辖域、保护方法、重载方法、重载与 构造方法、创建基类以及... 总结
Java方法继承、方法重载、方法覆盖总结。比较具体细致地描述他们之间的连系与区别,需要的同学可以看看。
这个文档总结概括了继承和抽象类的相关知识以及需要注意的事项
C++三种继承方式总结,帮你快速理解继承,进入C++高手
3.5继承总结 6 4、多态 6 4.1多态 6 4.1.1问题引出 6 4.1.2面向对象新需求 6 4.1.3解决方案 6 4.1.4多态实例 6 4.1.5多态工程意义 6 4.1.6多态成立的条件 6 4.1.7多态的理论基础 6 4.2多态相关面试题 6 面试题1:请...
C++之继承思维导图的总结
C#第六章 初始继承和多态.pdfC#第六章 初始继承和多态.pdfC#第六章 初始继承和多态.pdf C#第六章 初始继承和多态.pdfC#第六章 初始继承和多态.pdf
ES5中的继承 一 原型链继承 原型链继承的原理:直接让子类的原型对象指向父类实例,当子类实例找不到对应的属性和方法时,就会往它的原型对象,也就是父类实例上找,从而实现对父类的属性和方法的继承。 // 父类 ...
maven总结笔记-继承和聚合
目录 前言准备总结继承的n种方式原型式继承原型链式继承借用构造函数(类式继承)组合继承寄生组合式继承结束语 前言 准备 总结 继承的n种方式 原型式继承原型链式继承借用构造函数(类式继承)组合继承寄生组合...
1、实验名称:类的继承、多态的应用 2、代码内容:学生管理类 3、【实验目的】 (1)进一步熟悉抽象类和抽象方法的定义 (2) 进一步掌握集成和多态的实现方式。
C++中类的总结,适合毕业找工作,或新手突击C++用
菱形继承是多重继承中跑不掉的,Java拿掉了多重继承,辅之以接口。C++中虽然没有明确说明接口这种东西,但是只有纯虚函数的类可以看作Java中的接口。在多重继承中建议使用“接口”,来避免多重继承中可能出现的各种...
自己写的C#继承代码,刚开始学习的时候觉得比较困难,就总结了一下,免费的资源希望可以给大家带来帮助。