java面向对象三大特征:封装-继承-多态

封装:告诉我们如何正确的设计对象的属性和方法。

           对象代表什么封装对应的数据,提供数据对应的行为方法。

           将对象的属性隐藏在对象内部,不允许外部对象直接访问,但提供一些被外界访问的方法来操作属性。

 封装的好处:

1.使得编程变得简单,降低了学习成本,

        比如string类似对字符串造作的类,内部就封装对字符串操作的相关方法,当我们需要时直接调用就行了。不需要去管具体的实现步骤,这也是面向对象的一种体现吧。

2.数据安全性,为被private封装的属性,会被对象直接赋值,有可能传入非法·数据,当使用private对数据进行修饰,对外提供的方法就可以对相关数据进行逻辑处理,判断其合法性。

        例:一个人的年龄是大于等于0,但未封装的变量,赋的初值就有可能为负数。

继承:对已存在类的基础上建立新类的技术。新类可以有新的数据与功能,也拥有父类的功能。

   为什么要有继承:不同类型的对象,相互之间经常有一定数量的共同点:使得代码重复使用。

        例:不同的学生都有学生的共同特性,班级,学号。但每个学生又有自己不同于别人的特性。

       通过继承,我们可以快速创建类,提高代码的重用,节省创建类的时间,提高我们的开发效率。程序的可维护性。

特点:

  • 子类拥有父类的所有属性,方法,但是私有属性,方法拥有,无法访问
  • 子类可以拥有自己特有的属性与方法,这就是对父类的扩展
  • 子类可以重写父类的方法。

多态:一个对象的多种形态,父类的引用指向子类的对象实例。

多态前提:

  1. 有继承
  2. 有父类引用指向子类对象
  3. 要有方法重写。

好处:

        使用父类作为参数,可以接受任何子类对象,从而体现多态的扩展性与遍历

多态调用成员的特点:

  • 对于成员变量:编译看左边,运行也看左边

        当父类中存在的变量,子类中也存在,会调用父类中变量,

        对父类中不存在的变量,子类中存在,编译其会报错,因为不去子类中找。

  •  对于成员方法:编译看左边,运行看右边

        当父类中存在的方法,子类进行了重写,运行时调用的是子类的方法

        当父类中不存在的方法,子类存在,编译时会报错。

多态的优势:

        多态形式下,右边对象可以实现解耦,便于扩展和维护。

        定义一个方法时,使用父类作为参数,可以接受所有子类对象,体现多态的遍历。

多态的弊端:

        不能调用字类的特有功能,子类独有的方法

解决:在变回子类类型就可以了

 instanceof:关键字,判断传入的变量是不是某一类型

jdk14是添加了新特性:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值