JAVA学习第五天:接口与继承(一)

一、 接口

当实现某个接口,那么就必须实现这个接口中声明的方法。

public class Support extends Hero implements Healer{

	@Override
	public void heal() {//接口声明的方法
		// TODO Auto-generated method stub
		System.out.println("进行了治疗");

二、 对象转型

暂时放着。。。。。

三、 重载

子类继承父类的对象方法 后,重复提供该方法,就叫做方法的重写 ,又叫覆盖 override。
父类中的方法

//父类中的方法
public void effect(){
		System.out.println("父类效果");
	}

子类重载

public class LifePotion extends Item{
	public void effect(){
		System.out.println("子类效果");
	}
	
	public static void main(String[] arg){
		Item dadTest = new Item();
		dadTest.effect();
		LifePotion sonTest = new LifePotion();
		sonTest.effect();
		
	}

输出:

父类效果
子类效果

四、 多态

包括操作符的多态 ,如:
‘+’ 可以作为算数运算,也可以作为字符串连接

如果+号两侧都是整型,那么+代表 数字相加
如果+号两侧,任意一个是字符串,那么+代表字符串连接

以及类的多态 ,都是同一个类型,调用同一个方法,却能呈现不同的状态

练习

设计一个接口叫做Mortal,其中有一个方法叫做die
,分别让ADHero,APHero,ADAPHero这三个类,实现Mortal接口,不同的类实现die方法的时候,都打印出不一样的字符串,为Hero类,添加一个方法,在这个方法中调用 m的die方法,
public void kill(Mortal m),在主方法中,实例化出一个Hero对象:盖伦,然后实例化出3个对象,分别是ADHero,APHero,ADAPHero的实例然后让盖伦 kill 这3个对象。
Mortal接口:

public interface Mortal {
	public void die();
}

ADHero继承Hero,并实现Morta接口(其他同操作):

public class ADHero extends Hero implements AD,Mortal{
	@Override
	public void physicAttack() {
		// AD接口里的声明
		System.out.println("进行物理攻击");
	}
	@Override
	public void die() {
		// TODO Auto-generated method stub
		System.out.println("ADHero die! 这个世界需要更多的英雄!");
	}
}

在Hero中设计方法,并调用Mortal中的die方法

	public void kill(Mortal m){
		m.die();
	}

实例化并kill:

    public static void  main(String[] arg){
		Hero garen = new Hero("盖伦",450,45,360);
		ADHero ad = new ADHero();
		APHero ap = new APHero();
		ADAPHero adap = new ADAPHero();
		garen.kill(ad);
		garen.kill(ap);
		garen.kill(adap);
	}

结果:

ADHero die! 这个世界需要更多的英雄!
APHero die! 这个世界需要更多的英雄!
ADAPHero die! 这个世界需要更多的英雄!

######## 今天有点少哦,明天多点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值