Java学习8
Posted Zephyr丶J
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习8相关的知识,希望对你有一定的参考价值。
Java学习8
转变一下学习的方式内容,希望能坚持下去学进去,争取早点达到毕业要求,今天看完零基础
super
1. super 是一个关键字,全部小写
2. super和this对比学习
this:
this能出现在实例方法和构造方法中
this 的语法是:“this.”和“this()”
this不能使用在静态方法中
this. 大部分情况下是可以省略的
this. 在区分局部变量和实例变量时是不能省略的
this()只能出现在构造方法第一行,通过当前构造方法区调用“本类”中其他构造方法,目的是:代码复用
super:
super能出现在实例方法和构造方法中
super 的语法是:“super.”和“super()”
super.属性名【访问父类的属性】
super.方法名(实参)【访问父类的方法】
super(实参)【调用父类的构造方法】
super. 不仅可以访问属性,也可以访问方法
super不能使用在静态方法中
super. 大部分情况下是可以省略的
super. 父类和子类当中有同名属性,并且希望在子类中访问父类中的同名属性,super.不能省略
( this.name:当前对象的name属性
super.name:当前对象的父类型特征中的name属性)
super()只能出现在构造方法第一行,通过当前构造方法区调用“父类”中其他构造方法,
目的是:创建子类对象的时候,先初始化父类型的特征
super()
表示通过子类的构造方法调用父类的构造方法
模拟现实世界中的这种场景:要想有儿子,必须先有父亲
super代表的是“当前对象(this)的父类型特征”
super不是引用,super也不保存内存地址,super也不指向任何对象,super只是代表当前对象内部的那一块父类型的特征
当一个构造方法第一行:
既没有this()又没有super()的时候,默认会有一个super();表示通过当前子类的构造方法调用父类的无参数构造方法,所以必须保证父类的无参数构造方法是存在的。
this()和super()不能共存,它们都只能存在构造方法的第一行
无论怎么折腾,父类的构造方法是一定会执行的
所以一个类的无参数构造方法最好还是写出来,如果无参数构造方法丢失的话,可能会影响到“子类对象的创建”
在java语言中不管是new什么对象,最后老祖宗的Object类的无参数构造方法一定会执行(Object类的无参数构造方法是处于“栈顶部”)
在构造方法执行过程中,一连串的调用了父类的构造方法,父类的构造方法又继续向下调用它的父类的构造方法,但是实际上对象只创建了一个
“super(实参)”到底是干什么的?初始化对象的父类型的特征,并不是创建对象,实际上对象创建了一个
super关键字代表的就是“当前对象”的那部分父类型特征
java中允许在子类中出现和父类同名变量/同名属性
system.exit(0); //退出JVM
以上是关于Java学习8的主要内容,如果未能解决你的问题,请参考以下文章
错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段
错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段