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的主要内容,如果未能解决你的问题,请参考以下文章

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 降级 )(代码片段

JSP学习笔记:JSP语法和指令

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

VSCode自定义代码片段8——声明函数