java中的继承简介

java中的继承简介

  1. java中的继承是通过extends来继承的,一般格式为:
[类修饰符] class 子类名 extends 父类名{
    成员变量定义;
    成员方法定义;
}
  1. 继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。java中的类只支持单继承,而接口支持多继承。
  2. 只有在继承关系下,栈和堆类型可以不一致:
父类 对象名 = new 子类();  //父类型引用调用子类型对象
  1. 自动类型转换,牺牲子类特有的方法,这时候子类特有的方法无法使用,因为此时静态绑定在编译时不通过。
public class Test0409
{
	public static void main(String[] args) 
	{
		Father zhangSan = new Child();
		zhangSan.eat();
	}
}
class Father
{
	private int age;
	private String name;
	public Father(){}

}
class Child extends Father
{
	public Child(){}
	public void eat(){}
}

image-20220409171854328

如果想要使用子类特有的方法,需要进行强制类型转换

((Child)zhangSan).eat();  
Child zs = (Child)ZhangSan;  //这两种格式都是可以的,都属于强制类型转换。

这时候就可以编译通过了。因为将父类型引用子类型对象强制转换成了子类型引用子类型的对象。这时候就可以编译通过了。

  1. 动态绑定,此时编译通过了,如果子类重写了父类的方法,调用的方法就会是子类的方法。如果子类没有重写这个方法,这是调用的就是父类的方法。因为重写,所以构成了java的多态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值