Java super关键字详解
一.super关键字作用
1:主要存在于子类方法中,用于指向子类对象中父类对象。
2:访问父类的属性
3:访问父类的函数
4:访问父类的构造函数
二. super注意的地方
this和super很像,this指向的是当前对象的调用,super指向的是当前调用对象的父类。类加载完毕,创建对象,父类的构造方法会被调用(默认自动无参),然后执行子类相应构造创建了一个子类对象,该子类对象还包含了一个父类对象。该父类对象在子类对象内部。this super只能在有对象的前提下使用,不能在静态上下文使用。
三.super关键字的使用
1.子类的构造函数默认第一行会默认调用父类无参的构造函数,隐式语句
super();
Son(int y) {//super();隐式语句this.y = y + x;System.out.println("这是子类的有参构造");}
2.子类显式调用父类构造函数
在子类构造函数第一行通过super关键字调用父类任何构造函数。如果显式调用父类构造函数,编译器自动添加的调用父类无参数的构造就消失。构造函数间的调用只能放在第一行,只能调用一次。super()和this()不能同时存在构造函数第一行。
Son(int y) {super(y);// 子类显式调用父类构造函数this.y = y + x;System.out.println("这是子类的有参构造");}
四.super思考
如果开发者自定义了一个类,没有显示的进行类的继承,那么该类中成员函数是否可以使用super关健健字?可以使用,继承了Object类,Object类是所有类的父类。
class Demo7 {public void print(){System.out.println(super.toString());}public static void main(String[] args){new Demo7().print();System.out.println();}
}
Java super关键字详解相关推荐
- Java中super关键字详解
Java中super关键字详解 super有什么用? super什么时候不可以省略呢? super在内存图中是如何存在的呢? super使用时的注意事项 super有什么用? (1)当子类中构造方法第 ...
- java语言之super关键字详解
文章目录 前言 一.super介绍 二.super的语法 三.super内存图 四.super小结 前言 你第一次遇到super关键字是什么时候呢?是不是使用IDEA或者eclipse快捷键生成类构造 ...
- 1.4 super关键字详解
由于子类不能继承父类的构造方法,因此,如果要调用父类的构造方法,可以使用 super 关键字.super 可以用来访问父类的构造方法.普通方法和属性. super 关键字的功能: 在子类的构造方法中显 ...
- this关键字与super关键字详解
一.this关键字 1.实例一: (1)需求:使用Java类描述一个动物: (2)实例: class Animal{String name; //成员变量String color;public Ani ...
- Java instanceof关键字详解
严格来说 instanceof 是 Java 中的一个双目运算符,由于它是由字母组成的,所以也是 Java 的保留关键字.在 Java 中可以使用 instanceof 关键字判断一个对象是否为一个类 ...
- super 关键字详解
super 关键字主要有三个作用: 从子类访问父类的成员变量 从子类访问父类的成员方法 从子类构造器访问父类的构造器 下面我将从这三个方面做一些细节说明和注意事项. 从子类访问父类的成员变量 使用 s ...
- this和super关键字详解
目录 this关键字 this关键字调用成员变量 this关键字调用成员方法 this关键字调用构造器 拓展 super关键字 super关键字调用父类的成员变量 super关键字调用父类的成员方法 ...
- Java的this和super关键字详解
文章目录 1 super 2 this 1 super 1.子类在构造方法中显示调用父类构造方法 super可以在子类的构造方法中显示调用父类的构造方法:并且这行代码必须出现在子类构造方法的第一行.原 ...
- Java protected 关键字详解
很多介绍Java语言的书籍(包括<Java编程思想>)都对protected介绍的比较的简单,基本都是一句话,就是: 被 protected 修饰的成员对于本包和其子类可见.这种说法有点太 ...
最新文章
- 微信企业号开发:启用回调模式
- 取火的N种方式:学好物理是野外求生第一步
- vue数据改变了,视图不更新不刷新问题
- 程序员养生(01) -- 心态
- 可实现“一台主机多人同用”的 Windows MultiPoint Server 2011 中文正式版
- angularjs1-8,cacheFactory,sce
- 零基础python入门-零基础 Python 入门
- 力扣每日一刷--- 验证回文字符串II(非严格) 以及取反知识
- python课程设计爬虫篇_11 个案例开启 Python 爬虫初体验
- 超详细!联想小新700黑苹果双系统完整教程(1)
- 【菜鸟练习】Java方法实现高尔顿瓶
- MATLAB论文绘图模板与尺寸设置
- 安卓-几种查看SHA1和MD5的方法
- linux c计算时间差值,获取时间和计算时间差的几种方法总结,时间差几种方法...
- zookeeper提示包太大问题
- iOS视频——视频文件、播放视频
- 如何将电脑文件同步备份到u盘或移动硬盘?
- 升级Ubuntu 13.04 有感
- MySQL表字段不能用describe
- Fedora 7安装和配置