JAVA面向对象三大特性以及抽象类、接口

初识JAVA面向对象
提起面向对象,我们也就想到了面向过程。那么何为面向对象呢?简言之万物皆对象…众生芸芸,云里雾里不能自已。
好了,步入正题,面向对象是JAVA这门语言的核心所在。要想使用这门语言在猿界立足,一定得要有面向对象的这种编程思想。
一、面向对象
①面向对象和面向过程,字面理解,一个注重的是对象,一个注重的是过程。②面向对象,我们只需要了解,我们的对象都有谁,我们的对象会做什么即可,剩下的事情交给它们去做即可。如:盖房子,我们只用知道房子盖成需要用到哪些工种,然后我们去寻找具备这些技能的工种,让他们来建设房子,我们只当监工。主要关注结果就行。
③面向过程,我们需要详细的知道每一步该如何走,如何去干,事必躬亲。如:我们要盖房子,需要查勘量测,画出设计图,然后砌墙上顶,贴砖抹灰等等,每一步都要详细的去设计好,主要关注的是过程。
二、面向对象的特性
封装、继承、多态
①封装
JAVA中我们使用private关键字来对类成员进行封装。private的意思就是私有的。只允许再本类中访问该类型修饰的成员,以此来达到封装的目的。如果要在其他类中,访问被private修饰的成员变量,那我们可以通过在该成员变量所在的类中,写公共(public)的set、get方法。其他类通过调用该公共的方法,来为私有的变量进行赋值和读取操作。
②继承
关键字extends. 继承也就是子类继承父类所有的成员,包括父类私有的成员。但是私有的成员只能继承,不能获取。JAVA中的继承只能是单继承,不能多继承。1个父类可以被多个子类继承,但1个子类只能有1个直接父类,可以有多个间接父类。
③多态
多态的必要条件就是继承,只有继承了才能实现多态。多态就是:子类对父类的多种形态体现。多个子类可以继承自同一个父类,这个父类的引用,可以指向其中的任何一个子类,这就是多态。
父类引用指向子类对象,只能使用父类与子类共有的方法,不能访问子类独有的方法,也就是说子类必须实现对父类的方法重写。如果要访问子类独有的方法,那么就必须对父类对象强制造型为子类类型,此时才可使用子类独有的成员。
其实除了这3大特性之外,JAVA语言中,还有抽象类和接口这两大特性同样重要。
④抽象类
我们再说抽象类之前,必须要知道其关键字abstract。其可以修饰类和方法,被abstract修饰过的,我们称之为抽象类和抽象方法。
抽象类和具体类:①抽象类,某一类不同事物的抽象定义②具体类,某种事物的抽象定义。
<1>抽象类用abstract关键字修饰,和具体类的区别在于:①抽象类可以有抽象方法②抽象类不能去new对象,无法创建自己的类对象。③具体类继承了抽象类之后,必须实现抽象类中的抽象方法。除此之外并无其他区别,抽象类中既可以存在变量、构造器、也可以存在有方法体的方法。<2>抽象方法,被abstract修饰,没有方法体的方法,我们称之为抽象方法,抽象类中可以有抽象方法,也可以没有。但一个类中一旦有了抽象方法之后,这个类继续定义为抽象类。

⑤接口

不同类不同事物的共同行为的方法定义。
被interface修饰的,我们称之为接口。为了便于理解,我们可以把他看做是一个类, 但要切记接口并不是一个类,只不过它具有类的许多特性。接口再JAVA中的作用,主要是弥补类的单继承。对,你没有猜错,接口是可以实现多继承的。
接口的内部构成:①接口中的属性必须是公共的全局的常量②接口中的方法都是抽象的方法。
类可以实现(implements )多个接口,接口之间用逗号隔开。
接口可以使用多继承,一个接口可以只继承1个接口,也可以继承多个接口。

猜你喜欢

转载自blog.csdn.net/weixin_37484733/article/details/82831127
今日推荐