关键字super的作用意义
来源:互联网 发布:怎么查淘宝等级手机 编辑:程序博客网 时间:2024/05/29 16:56
由于子类可以覆盖父类的实例方法、隐藏父类的类方法、隐藏父类的字段等,但是我们有时候需要引用到父类的一些方法,这时候需要借助关键字super.
1.使用super关键字访问父类中的成员.
1-1.调用父类中被覆盖的方法
示例:
public class Superclass { public void printMethod() { System.out.println("在Superclass中的输出。"); }}
public class Subclass extends Superclass {//重写超类Superclass中的printMethod方法 public void printMethod() { super.printMethod();//使用super关键字调用超类中的方法 System.out.println("在Subclass中的输出。"); }}
public class ExtendsDemo7{ public static void main(String[] args) { Subclass s = new Subclass(); s.printMethod(); }}
输出结果:
在Superclass中的输出.在Subclass中的输出.
1-2.访问父类中被隐藏的字段
示例:
// 父类Aclass A{public String name = "张小明";}// A的子类Bclass B extends A{public String name = "赵红丽";public void self( ){System.out.println("我的名字是:" + name);System.out.println("我原来的名字是:" + super.name);//使用super访问超类中被隐藏的字段}}// 主程序ExtendsDemo8public class ExtendsDemo8{ public static void main(String[ ] args){B b = new B( );b.self( ); }}
输出结果:
我的名字是: 赵红丽我原来的名字是: 张小明
2.使用super关键字调用父类的构造器:
子类是不继承父类的构造器.因此,如果要初始化父类中的字段,可以在子类的构造器中,通过关键字super调用父类的构造器.对父类的构造器的调用必须放在子类的构造器的第一行.
示例:
// 父类Aclass A{A(){System.out.println("这里是超类A的构造器。");}}// A的子类Bclass B extends A{B(){super();System.out.println("这里是子类B的构造器。");}}// 主程序ExtendsDemo9.javapublic class ExtendsDemo9{ public static void main(String[] args) {B b = new B(); }}
输出结果:
这里是超类A的构造器.这里是子类B的构造器.
3.构造器连
如果一个子类的构造器显式或隐式地调用其父类的一个构造器,而其父类会再显式或隐式地调用父类的父类的构造器.形成一个完整的构造器链.
示例:
class Book { private String ISBN; Book(String isbn){this.ISBN = isbn; } public String getISBN(){return this.ISBN; } public boolean equals(Object obj) { if (obj instanceof Book) return ISBN.equals(((Book)obj).getISBN()); else return false; }}public class ExtendsDemo11{ public static void main(String[] args) {Book firstBook = new Book("0201914670"); Book secondBook = new Book("0201914670");if (firstBook.equals(secondBook)) { System.out.println("两个对象相等.");} else { System.out.println("两个对象不相等.");} }}
输出结果:
这里是超类A的构造器.这里是超类B的构造器.这里是子类C的构造器.
- 关键字super的作用意义
- Python中super关键字的作用
- Python中super关键字的作用
- Python中super关键字的作用
- Python 中super关键字的作用
- Python中super关键字的作用
- Python中super关键字的作用
- Python中super关键字的作用
- Python中super关键字的作用
- Super 关键字作用
- this & super 这两个关键字的意义和用法
- 继承中this关键字和super关键字的作用
- 子类的初始化以及super关键字的作用
- java中关键字 this 和super的作用及用法
- 简单谈一谈php中var关键字的作用和意义
- this&super这两个关键字的意义和用法(转)
- super关键字的使用
- super关键字的用法
- AsyncTask 详解
- 深入CACHE
- nofollw的重要性
- Eclipse常用快捷键
- ibatis 实现一对一和一对多(1)
- 关键字super的作用意义
- db2 查看数据库日志及其报错信息
- 黑马程序员--正则表达式
- 某公司java开发面试题
- Poj_1068 Parencodings
- Web Storage:sessionStorage与localStorage
- 选择合适你的电源-开关电源入门讲解
- 镜像站点
- python学习笔记(三)字符串