java继承

什么是继承

在java中,定义了很明显的父子级类型,我们在创建不同类的时候可以很方便地利用继承关系快速创建类。
继承(Extend)的本质是,子类复制了父类所有的方法。
子类可以通过关键字extends快速继承一个父类,而无需对父类的代码进行复制(如果复制,对于后期的维护将是艰难的)。这样就在类型之间做到了一种代码复用。示例:

public class Person{
//定义了一个类
}

public Student extends Person{
//定义了一个类,继承自Person类
}

继承关系下的扩展

子类继承父类的主要目的是对父类进行扩展,在扩展过程中大部分情况需要访问父类的字段,由于大多数情况下父类的字段都是用访问修饰符“privite"修饰,因此其他类无法访问,但是java设计了一种继承树内访问字段的方法,即”protected“,解决了该问题。

public class Person{
//定义了一个类
	protected String name;
	protected int age;
}

public Student extends Person{
//定义了一个类,继承自Person类
	public void setName(String name){
	this.name = name;
	}
}

继承关系中的构造方法

在java类的关系中,构造方法是绕不过去的一道坎,所有的新的定义必须充分考虑与其构造方法是否冲突或引起不便。在父类中,一般设置了父类的构造方法,在子类中,一般需要手动调用父类的构造方法,使用*super()*即可完成对父类构造方法的调用。

public class Person{
//定义了一个类
	protected String name;
	protected int age;
	public Person(String name){
	this.name = name;
	}
}

public Student extends Person{
//定义了一个类,继承自Person类
	public Student(name){
	super(name);
	}
	}
}

向上转型

java允许一个变量指向一个实例对象,这个变量一般是和实例是一种类型的(暂时可以这么理解),但是通常情况下,为了处理方便,不引起混乱,我们希望变量之间的差别越小越好,这就需要对变量进行抽象化,因此就引出一个概念:向上转型
顾名思义,向上转型就是将一个对象(变量)升级到了更高维度(抽象),比如,一个变量p本来属于“人”这个类,它指向一个实例“小明”,表示为p–>小明,现在对人进行向上转型,转为更抽象的类型“哺乳动物”,用变量b表示。显然可以认为小明也是一种哺乳动物,可以给小明一个变量名b,即b–>小明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值