java中的面向对象

面向对象基本概念:

面向对象:oo(Object Oriented)。还可以往下细分为面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)。
其实对于java语言来说:一切皆是对象。一个对象可以代表某一类事物,也可以代表某种操作。一套程序的完成就是由一个个对象组合起来的。

面向对象的表现形式:封装,继承,多态

封装:

1.其实类就是一种封装的形式,类中封装的时对象的属性和行为。这样做的好处是
• 属性私有化,行为公开化
• 提高代码的复用性,便于项目上线的维护和扩展
• 能够提高代码的安全性,把属性等需要隐藏的隐藏起来,提供方法供外部对其进行访问。
2.对于java来说方法也是封装的表现形式之一:方法中封装的是特定的业务逻辑功能的实现。
3.java中通过对类中或方法中的成员设定访问权限来实现对一些信息的隐藏。
访问控制修饰符:public,private,protected,默认的
其中这四种修饰符访问权限由大到小为:
public>protected>默认的>private
• public :完全公开的,它所修饰的可以被任何类所访问。
• protected:英文解释是受保护的,它可以被本类,派生类及同包类所访问。
• 默认的:它在代码中的表现是什么都不写,可以由本类和同包类进行访问。
• private:英文解释为私有的,从字面上可以理解,他的权限是最严格的,只能被本类进行访问
这里进行一个说明:类的访问修饰符只能是public或者是默认的,类中的成员可以使用四种修饰符。

继承:
什么是继承:

继承就是以已经存在的类(子类)为基础,构建一个新的类(父类),我们找出子类中所有的"相似的代码"放到父类中,在编写子类时可以直接使用。我们称之为继承

继承的作用:

继承最大的作用就是提高了代码的复用性,可读性和维护性。

继承的实现:

继承是通过extends关键字进行实现的,在子类的类名后加上extends关键字,在加上父类名即可完成继承关系的建立。

继承的特点:单一性,传递性

1.单一性:一个子类只能继承一个父类,这就叫做单一继承。也就是说如果一个类A继承的另一个类B,那么那就不能再次继承第三个类C。
但是一个父类可以有多个子类,因为在上面已经提到,父类的由来就是:很多子类抽出共性而生成的。
2.传递性:传递性简单来说可以理解为包含关系。
A包含B,B包含C,那么A一定包含C
C继承自B,B继承自A,那么就可以说C继承自A。传递就是这个意思。

使用继承

在说到使用继承时,不得不提的关键字就是super了·
super:指代的是当前对象的超类对象
super(参数):就是调用父类的某一个构造参数,在子类的构造方法中若没有调用父类的构造方法时,则会默认super(空),来调用父类的无参构造方法。若调用了,则不会默认提供(注意:在调用父类的构造方法时super()必须放在子类的第一行)
向上造型:父类的引用指向子类的对象,能点出来什么,需要看引用的类型。

说到继承,脑子里突然就想到了接口,其实就项目来说,接口实际的运用与继承有很大的相似之处:

接口:

其实接口也是一种数据类型(引用类型),它由interface定义,里面只包含常量和抽象方法且不能被实例化。
接口是需要实现的:接口的实现必须重写接口中的所有抽象方法,重写接口时必须加关键字public
接口不像继承具有单一性,一个类可以实现多个接口,不同的接口用逗号隔开,在同时进行继承和实现接口的情况下,先继承,后实现接口。同时结构依然可以实现接口跟继承的传递性有些许的类似。

多态:

多态有行为的多态和对象的多态。
行为的多态:同一类型的引用指向不同对象时有着不同的实现。
对象的多态:同一对象被造型为不同的类型是,有不同的供能
多态其实从字面上很好理解,多种形态,多种状态…,举个简单的例子:
“我正在喝水”:这个水就是多态的表现。水可以是可乐,可以是牛奶,也可以是茶等等。这些不同的饮品可以统称为水,这就是多态的表现。
在java中多态的表现可以理解为重写(override):
重写从字面上理解为:重新写,覆盖
重写是发生在父子类中,方法名称相同,参数列表相同,方法体不同,在重写方法被调用是看的是对象的类型。

在这里说一下重写(override)和重载(overload)

重写和重载的区别:
1)
重写:发生在父子类中,方法名称相同,参数列表相同,方法体不同
重载:发生在一个类中,方法名称相同,参数列表不同,方法体不同
2)
重写:遵循的是运行期绑定,根据对象的类型调用方法
重载:遵循的是编译期绑定,根据参数的类型调用方法

注:

本人是刚刚学习java3个月的小白,这里是我在学习过程中的总结与心得,拿出来跟大家分享一下,可能会有许多不足,感谢大家的批评指正。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值