继承/理解 super和this关键字
理解
super 用法:
1. 访问父类构造函数,super()无参构造为默认,super(参数)有参构造,必须出现在子类构造方法的首行
2. 访问父类成员变量,super.父类变量名
3. 访问父类方法,super.父类方法名()
this 意义:当局部变量和成员变量发生冲突,用this区分
1. 调用构造方法,this(),this(参数)
2. 调用成员变量,this.对象属性名
3. 调用成员方法,this.对象方法名
区分
- super是当前对象的父对象的引用,本质上是一个Java关键字,也可以理解指向自己父类对象的一个指针
this指的是当前对象的引用,本质上是个对象本身的指针,在同一个类中调用其他方法
注意
- super和this不能同时出现在一个构造方法里
因为this必然调用其他构造方法,其他的构造方法中肯定有super存在,所以在同一个构造方法里有相同的语句,会失去语句的意义,编译器也不会通过 - super和this都不能在static环境中适用(static变量、方法、语句块)
因为它们都指的是对象
看影响的例子
package com.aaa.p060302;
class Animal{protected String name;protected int age;public Animal(){}public Animal(String name,int age){this.name = name;this.age = age;}public void show(){System.out.println("父类"+name+"年龄"+age);}
}
class Dog extends Animal{String color;int age = 10;String name = "哈哈";public Dog(String xm,int xage,String xc){super.name = xm;super.age = xage;color = xc;}@Overridepublic void show(){System.out.println("子类age"+age);super.show();System.out.println("子类color"+color);}
}
public class Demo0604 {public static void main(String[] args) {Dog d = new Dog("旺财",100,"黄色");d.show();}
}
看下debug时候,实例d的参数情况:
运行结果:
继承/理解 super和this关键字相关推荐
- Java学习(静态static关键字,数组工具类Arrays,数学相关工具类(绝对值,向上取整,向下取整),继承,super和this关键字,抽象)
2022/1/2 (1/6)Java学习 1.静态Static关键字概述 一旦用了static关键字,那么这样的内容不再属于对象自己,而是属于类的,所以凡是本类的对象,都共享同一份. 2.静态stat ...
- Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...
39.类的继承java 描述类的时候,咱们若是发现有几个类有重复的属性和方法,咱们就能够采用继承的方法来设计ide 使用extends关键字来继承this 语法:设计 class 子类 extends ...
- 1.4 面向对象编程中级 对象的继承与super关键字-跟着韩老师学JavaSE
大佬给推荐的韩顺平老师的课程 2021年刚刚录的船新版本! [零基础 快速学Java]韩顺平 零基础30天学会Java 硬把从另一个讲师那里看了300多集的我拽过来 几十节课一下子爱上这个节奏了!安利 ...
- (兔C残篇)Java 面向对象的三个基本特征:继承,Super关键字的使用,this关键字的使用,super和this的区别,方法重写
如文章标题,今天兔C残篇阐述的话题如下: 文章目录 1.什么是继承 1.1 democode 1.2 关于继承的理论知识概念 2. Super 关键字 3.this 关键字 4.this 和 supe ...
- Java:继承之super关键字,继承之私有权限,继承之方法重写,继承之object类,继承之简单工厂模式
一.继承的概念及用法 继承背后的思想就是 基于已存在的类来构建新类 当从已存在类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求 ...
- 【继承、super、this、抽象类】
一 继承 1.1 概述 多个类可以称为子类,单独那一个类称为父类.超类(superclass)或者基类. 继承描述的是事物之间的所属关系,这种关系是:is-a 的关系. 定义 继承:就是子类继承父类的 ...
- python 重写抽象类编译错误_从零开始的Java之旅5.0继承、super、this、抽象类
前言 昨天我们对Java的类与对象.封装.构造方法进行了充分讲解,今日我们学习继承.super.this.抽象类 今日内容: 三大特性--继承 方法重写 super关键字 this关键字 抽象类 继承 ...
- 继承、super、this、抽象类
[继承.super.this.抽象类] 今日内容 三大特性--继承 方法重写 super关键字 this关键字 抽象类 教学目标 能够解释类名作为参数和返回值类型 能够写出类的继承格式 能够说出继承的 ...
- java 继承、super、this、抽象类
java 继承.super.this.抽象类 三大特性--继承 方法重写 super关键字 this关键字 抽象类 第一章 继承 1.1 概述 由来 多个类中存在相同属性和行为时,将这些内容抽取到单独 ...
最新文章
- linux shell ls 时间排序显示
- [vue] 说说你对provide和inject的理解
- 国家部委对4G调研:未定给中电信联通发放牌照
- HTML+CSS+JS实现 ❤️3D悬浮粒子翻转动效❤️
- PG13用pg_rman进行备份恢复
- linux手动注入网络数据_Linux网络 - 数据包的接收过程【转】
- 给UILabel中的文字加删除线
- java list 时间排序吗_java collection.sort()根据时间排序list | 学步园
- Jupyter Notebooks学习分享
- Linux服务器程序规范化
- 医疗管理系统-检查组管理
- 多御浏览器新出的手机版本有什么功能?
- python人工智能应用实例_90后博士说,从Python到人工智能只差这35个趣味案例,越学越有趣...
- Ubuntu/Deepin下Python3.8出现SSL错误的解决方案
- 学习Ansible自动化
- 采用html 的a标签,href连接为文件时无法下载解决方案
- 租房信息采集并做数据分析
- 51单片机学习笔记之KEIL5的安装与破解
- centOS官网下载教程
- 综述 | 358 篇论文, 最新知识图谱KG综述