博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oop_day04_继承、重写_20150812
阅读量:4305 次
发布时间:2019-05-27

本文共 1112 字,大约阅读时间需要 3 分钟。

oop_day04_继承、重写_20150812

1.继承:

   1)作用: 代码的重用

   2)通过extends实现继承

   3)父类/基类:所有子类所共有的变量和方法

      子类/派生类:子类所特有的变量的方法

   4)当子类继承父类后,子类具有:

      ------子类所特有的+父类所共有的

   5)一个类只能继承一个父类----单一继承

      一个父类可以有多个子类

   6)继承具有传递性

   7)java规定: 构造子类之前必须先构造父类

      子类构造方法的第一句默认有个super()调父类的无参构造

      若自己通过super调用父类构造的话,则不再默认提供

      super调用父类构造,必须位于子类构造的第1句

2.super:指代当前对象的父类对象

   用法:

   1)super.成员变量名------访问父类的成员变量

   2)super.方法名()-----------调用父类的方法

   3)super()---------------------调用父类的构造方法

代码示意:

class Coo{	int a;	Coo(int a){			}}class Doo extends Coo{ //什么都不写,报错		/*	//默认代码	Doo(){		super();	}	*/	//解决	Doo(){		super(1);	}	}

3.向上造型:

   1)父类型的引用指向子类的对象

   2)能点出来什么,看引用的类型

4.方法的重写(override):

   1)发生在父子类中,方法名相同,参数列表相同,方法体不同

   2)重写方法被调用时,看对象的类型

代码示意:

package oo.day04;public class OverrideDemo {	public static void main(String[] args) {		OAoo o1 = new OBoo(); //向上造型,父类引用指向子类对象		OAoo o2 = new OCoo();		test(o1);		test(o2);	}	public static void test(OAoo oo){		oo.show();	}}class OAoo{	void show(){		System.out.println("Aoo-show()");	}}class OBoo extends OAoo {	void show(){		System.out.println("Boo-show()");	}}class OCoo extends OAoo {	void show(){		System.out.println("Coo-show()");	}}

总结:java的三大特性之一:继承

转载地址:http://eeews.baihongyu.com/

你可能感兴趣的文章
经典SQL语句大全
查看>>
log日志记录是什么
查看>>
<rich:modelPanel>标签的使用
查看>>
<h:commandLink>和<h:inputLink>的区别
查看>>
<a4j:keeyAlive>的英文介绍
查看>>
关于list对象的转化问题
查看>>
VOPO对象介绍
查看>>
suse创建的虚拟机,修改ip地址
查看>>
linux的挂载的问题,重启后就挂载就没有了
查看>>
docker原始镜像启动容器并创建Apache服务器实现反向代理
查看>>
docker容器秒死的解决办法
查看>>
管理网&业务网的一些笔记
查看>>
openstack报错解决一
查看>>
openstack报错解决二
查看>>
linux source命令
查看>>
openstack报错解决三
查看>>
乙未年年终总结
查看>>
子网掩码
查看>>
第一天上班没精神
查看>>
启动eclipse报错:Failed to load the JNI shared library
查看>>