super关键字和函数覆盖(Override)
2016-04-06 14:54
393 查看
4.3 super关键字
(1)super:代表的是父类,用法和this相似。可以使用super调用父类中构造方法,成员变量与成员方法。例如:super.age=10;其中age是父类中的变量。(2)this代表本类对象的引用,即父类的内存空间的标识,super代表父类所属的空间。
(3)当子父类出现同名成员时,可以用super进行区分。
(4)子类要调用父类构造函数时,可以使用super语句。
详见“4.5子类实例化过程”中super的使用。
4.4 函数覆盖(Override)
覆盖也称之为覆写或者重写,使用环境:(1)出现在具有父子关系的两个类中
(2)父类和子类都有一个函数,这两个函数的定义(函数名,参数列表,返回值类型)完全相同。
package com.override; public class Person { String name; int age; void introduce(){ System.out.println("我的名字是:"+name+",我的年龄是:"+age); } } package com.override; public class Student extends Person{ String address; void introduce(){ System.out.println("我的名字是:"+name+",我的年龄是:"+age+",我的住址是:"+address); } } package com.override; public class Test { public static void main(String[] args) { // 生成子类对象,调用子类的方法 Student a=new Student(); a.name="哈哈"; a.age=10; a.address="杭州市西湖区"; a.introduce(); // 生成父类对象,调用父类的方法 Person b=new Person(); b.name="哦哦"; b.age=20; b.address="北京市朝阳区"; b.introduce(); } }
运行结果:
从上面的运行结果可知:
(1)生成子类对象,调用子类的方法,生成父类对象,调用父类的方法。
(2)当在具有继承关系的父子类中,对父类的方法不满意,可以通过在子类中重写的方式进行修改。
覆盖注意事项:
(1)子类覆盖父类时,必须要保证覆盖方法的权限大于等于被覆盖的方法的权限。
(2)覆盖方法有静态修饰时,静态只能覆盖静态,或者被静态覆盖。在写法注意这个事项。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树