Java面向对象基础

面向对象

1)优点

易维护、易复用、易扩展,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活,更加易于维护。

2)缺点

性能比面向过程低。因为类在调用时需要实例化,开销比较大,消耗资源。

3)三大特性

  • 封装:就是把客观事物封装成抽象的类,并且可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
  • 继承:是指这样的一种能力,它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。
  • 多态:是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。

注意:

实现多态有3个必要条件

1.继承

2.重写

3.向上转型(父类引用指向子类对象)——将子类对象看作是父类类型,这也是我们平时使用多态的形式,这种情况下,无法调用子类特有的功能。相反,向下转型就是将父类引用指向的子类对象再转回子类类型,这种转型有危险,因为是强制性的,一旦转向的类型与这个对象不匹配,就会报错java.lang.ClassCastException(类型转换异常,属于运行时异常)

4)多态成员访问的特点

  • 成员变量

编译看左边(父类),运行看左边(父类)

一般使用情况很少,成员变量一般是私有的

  • 成员方法

编译看左边(父类),运行看右边(子类),动态绑定

子类中如果对父类中的方法进行了重写,父类中的方法无论如何都无法被访问,这也是java动态绑定的结果

动态绑定会选择最优执行方法,只要子类重写了父类的方法,无论在什么地方调用,都会先找子类

  • 静态方法

编译看左边(父类),运行看左边(父类)

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值