类与对象以及类的继承

类与对象以及类的继承


类与对象:
类为对象的抽象描述,对象可以调用类的一切特征。而类由属性和方法组成,同一个类的对象遵守相同的属性和方法及规则。
类的属性和方法可以直接在类里添加,具体添加方法为在类中数据类型加上数据,类的方法的结构为权限修饰符加返回值类型加方法名再加上参数类型。
例:
可以通过 public class 类名{ }
来创建类
类与对象以及类的继承

通过以上代码我创建了一个在读研究生类,拥有学士学位是他的属性,学习是他的方法,而参数名String a则是用来设置他的学习课程类型,最后面则是他学习的具体过程。
在一个类中要调用另一个类的方法或属性时需要先在这个类中创建要调用的类的对象,之后通过对象名.属性名的方式调用属性,通过对象名.方法名(参数)的方法来调用方法。并且你可以在一个类中给另一个类中的属性和参数赋值。
例:
类与对象以及类的继承

我在这个Person类中通过创建Masterstudent的对象调用了他的name和degree属性以及learn方法,并且在Person类中实现了对name和课程的赋值。

当一个类中存在private属性时,可以通过使用public方法中的返回值在其它类中获得
例:
类与对象以及类的继承
类与对象以及类的继承
类与对象以及类的继承
首先第一段代码,在masterStudent当中,name是一个private类,我们首先在setName方法中将参数na赋值给了name,并通过getName方法将name设置为了getName的返回值。
然后第二段代码,在Person类中,我首先通过修改setname方法的参数,给name赋了值,并通过getname方法的返回值,获得了private属性name的值。结果如第三张图所示。

类的继承
在继承当中
子类可以通过extends关键字继承父类的一切方法和属性。
例:
类与对象以及类的继承
类与对象以及类的继承
类与对象以及类的继承
类与对象以及类的继承
首先,我在图一中创建了一个鸟类的父类,同时创建了他的身体特征属性以及飞行和捕猎的方法。再然后,我在图二中创建了鸽子的子类,并通过extends关键字使他继承了鸟类的属性和方法,子类中并未创建任何的属性和方法。在图三中,我在主类里直接创建了一个Pigeon对象,并直接调用了鸟类的属性和方法,最后成功在图四中得到了结果。Pigeon类成功继承了Bird类的一切属性和方法。

方法的重写及多态
有时父类中的方法并不适用于子类,需要用到方法的重写去重新定义子类的方法,这时便需要重写子类的方法。
子类可以通过在类中重新编写与父类完全相同的方法来实现方法的重写及多态。
例:
类与对象以及类的继承
在以上图片中代码不变的情况下,我单独在Pigeon类中重写了与Bird类一模一样的方法,之后在main方法中输出时,得到如下结果
类与对象以及类的继承
可以看到在main方法中pigeon重写了父类的方法。

自动转型与强制转型:
因为类的多态概念,为方便方便调用代码,需要调用到类的上下转型。
子类可以通过构建父类对象转化为父类(向上转型),经过自动转型过的父类对象可以通过强制转换符转换为子类对象。
例:
类与对象以及类的继承
在上面的代码里,我首先通过创建Pigeon的父类对象成功将Pigeon转化为了bird类,并通过它的fly方法输出了Pigeon重写过的fly方法,这便是类的向上转型.后面我又通过创建新的Pigeon子类对象成功通过强制转换符将bird类的bi转化为了Pigeon类的bir对象,这便是类的上下转型。