oop_day04_继承、重写_20150812

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的三大特性之一:继承


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值