[学习]继承与接口

继承与接口

普通类与普通类

子类可以继承父类的方法和属性
在Class里给extends來继承
继承extends:所有参照范围内的属性及方法
public class PoisonMatango extends Matango {

  • 注意:
如果是相同内容的东西,子类可以不用写,会自动从父类继承。
如果在子类改写了继承来的东西的话,执行的是被改行了的子类的内容。
如果在类写上final,该类不可继承
如何方法写上final,被继承后不可重写
  • 关系
賦值使用方法父類、子類
HAS-AUSE-AIS-A
抽象类(abstract)与普通类

继承extends:所有参照范围内的属性及方法
但:抽象方法必须Override重写

接口(interface)与普通类
  1. 接口内 只有抽象方法
  2. 遵从implements:
    1. 接口内的属性(public static final)
    2. 方法必须要重写
  3. 接口里只需要写 剩下的内容
    1. 返回值 + 方法名 +(参数)
多数接口(interface)与普通类

接口内 只有抽象方法
遵从implements:复数接口之间用“,”链接

接口与接口

继承extends:可以有多个接口对接

接口与抽象类

如果一个抽象类遵从一个接口,那么接口内的方法在抽象类里不是必须重写的;
但是继承抽象类的子类里必须要重写;

  • 接口不能通过自己的构造器来创建对象,但可以通过其他class来创建:比如多态!
例:
  • 父類
public class Matango {

  int hp = 50;
  char suffix;

  public Matango(char suffix) {
    this.suffix = suffix;
  }

  public void attack(Hero h) {
    System.out.println("キノコ" + this.suffix + "の攻撃");
    System.out.println("10のダメージ");
    h.hp -= 10;
  }
}

  • 子類
public class PoisonMatango extends Matango {

	public PoisonMatango(charsuffix){
	super(suffix); }
		int Poison=5;
		
	public void attack(Hero h) {
		super.attack(h);
		if(Poison>0) {
			System.out.println("さらに毒の胞子をばらまいた!");
		}
	}
}

代码使用权限范围
Private只能在自类里引用屬性,方法
Delfut只能在自包/自类里引用類, 屬性,方法
Protected继承了自己的子类,或在自包引用屬性,方法
public全类類, 屬性,方法

用了private的話可以用get/set方法,設定/返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值