java面向对象

首先java面向对象的三大特征 封装 继承 多态 。接下来来进行解释这三个非常非常重要的概念

首先第一个是封装,封装犹如字面意思把东西给装起来然后再用胶布密封起来,java中也是这样,将一个类中的特性和行为给封装起来,使用时创建对象去使用(这样避免了变量零散使用)封装是三大特征的核心,另外两大特性也是为了根据封装的思想而来的,

第二个是继承,继承故名思义是从父辈中获得一些东西,继承是一种从父类中获取所有一些能够获得的方法和变量,首先我们要明白继承子类到底能从父类中继承什么,第一个是成员变量,在类的加载时,父类优先于子类先加载,所以父类的成员变量会优先进入方法区,而在这里得提及一个概念,就是在子类的构造方法执行时会调用父类的构造方法也就是父类的构造方法先被完成,此时父类的成员变量和方法都会进入堆中,若无私有化修饰,子类是可以访问父类的成员变量的,因此当子类对象被创建时会从堆中去找,然后保存父类中非私有变量的值(成员变量都会被继承只是能不能访问的问题了),接下来说成员方法,这就得提到一个虚拟机的虚方法区了,当父类构造方法执行后会加载出一个虚方法区存的就是虚方法并传递给子方法,子方法可以重写方法进行覆盖,这便是父类方法的继承,那什么是虚方法呢,就是非static和private修饰的方法都能够称为虚方法都能够传递给子类。这个继承的内容讲完了,然后就是继承中一些注意的事项,一个就是就近原则,通过super调用父类,this调用本类,然后就是继承的expends ,继承只能够单继承,也就是说一个子类只能有一个父类,如果需求需要多个父类该怎么办呢,这个就涉及后面的接口了,在此先不讲,然后一个父类可以有很多子类,继承允许多层继承就是父类也会有父类,所有没有写继承关系的类都会继承于object类(超类)当这个类是抽象类时子类要对其所有的抽象方法进行重写这便是继承的内容了,那什么时候用继承呢,就是子类中有许多相似的行为和属性我们就可以把它们取出来放到一个新的类中并继承给对应的类,这样就可以使代码变得更加简便,修改代码时也更加方便容易。

最后一个就是多态 多态多态字面意思就是多种形态,同种类型的对象表现出不同的形态,就是用类加载快的类 的对象变量来创建加载慢的类的对象,多态有这几个用途当一个函数参数是一个大类的时候,我们就可以用它所有的子类去调用那个方法.这样大大提高了代码的性能,不然你想你每个老师教书的内容不一样,那么当我们要打印老师教书的内容时要创建很多个方法,而当学会用多态之后就只需要写一个方法,另外一个优点就是可以保证代码的稳定性,当某个对象出错时或者是想换一个对象进行操作,那么多态的优点体现出来了,他只需要改变new出的子类对象就行了,因为后续代码是子类共享的,但是多态也有一些缺点就是不能使用子类特有的方法如果要使用则需要转换成对应的子类再使用该方法,但是使用多态也是要有要求的,就是首先必须要有继承关系,二就是有父对象变量去创建子类对象,三就是有方法重写.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值