首页 > 编程知识 正文

java面向对象详解,面向对象的特征有哪些方面

时间:2023-05-05 17:25:31 阅读:50221 作者:1572

一、java的面向对象特征?

面向java对象的特点:封装、继承、多态、抽象。

java面向对象的三个特征是什么? 也就是说,打包、继承、多态性、

但说到面向对象,另一大特点是抽象。

1、包装:

a )铺位:

Java将现实世界中具有共同特征的实体抽象到Java中的类中。 Java是面向对象的语言,因为类的实例是对象,对象和真实世界实体是一一对应的。

b )概念:

每个类都有属性和方法。 封装是隐藏属性和方法,只保留一些外部接口和外部交互。

c )打包的好处:

I .减少偶联

ii .轻松修改自己的实现代码,而不修改调用我们代码的程序片段。

d )从程序的角度分析软件包的好处

I .假设您有如图所示的Husband类。

此Husband类没有setter和getter方法。 我们要用那个,只能这么做

如果项目需求现在更改,则将age更改为String类型的。 图:

如果我们程序成百上千的地方使用husband.age,我们就会逃跑

对此,使用封装就很简单了。 您只需要重新生成Husband类的age的setter和getter方法,同时在setAge方法中进行更改。

其他地方仍然使用原来的引用。

2、继承:

a )概念:

继承是指使子类继承父类的特性和行为,而子类对象具有父类的非私有属性和方法。

a )类的继承格式:

在extends关键字很棒的滑板的一个类中继承另一个类。 例如

类class父类{}

class子类extends父类{}

b )为什么需要继承?

减少导线的重复、肥大,提高导线的维护性。

假设现在我们开发动物类,其中的动物分别是企鹅和老鼠,要求如下:

企鹅:属性(名字、id )、方法)吃、睡、自我介绍) )。

老鼠; 属性(名字、id )、方法)吃、睡、自我介绍) )。

从这两个代码可以看出,代码是重复的。 在有其他动物的情况下,代码增加的话,后维护会变得麻烦。 在这种情况下,可以使用继承解决问题。

首先,两个动物提取相同的属性和方法,形成一个动物类(亲戚)

通过让企鹅类和鼠类都继承这种动物类,企鹅和老鼠都有了父母(动物类)的属性和方法,子类就不用写那么重复的代码了。 例如:

a )继承的特性:

I .子类具有父类的非私有属性和方法。

ii .子类可以完全有自己的属性和方法(扩展到父类);

iii.Java是单个继承(每个子类只能继承一个父类); 但是,Java是多重继承(例如,a继承b,b继承c )。

iv .增加了类间的耦合(所以继承要慎重使用! )

b )扩展:

上述Java仅支持单个继承,但如果一个类已经继承了其他父类,则可能无法继承当前所需的其他父类。 在这种情况下,可以使用另一种实现implements的方法。

implements关键字允许Java具有多个继承特性。 实现多个接口时,接口和接口之间必须用逗号分隔。

Super和this关键字:

Super关键字:使用Super关键字可以访问引用当前实例对象的父类的父类成员的子类。

This关键字:对实例对象自身的引用。

例如:

3、多态性

a )概念:

多态性是指在同一接口上使用不同的实现并执行不同的操作。

图:

a )多态性的三个必要条件:

I .继承(扩展)

ii .重写(子类重写父类的同名方法) ) ) ) ) ) ) )。

iii .父类引用指向子类的对象,例如:

Animal a=newCat (;

父类引用animal指向子类cat

b )让我给你看一个多态性的例子。

I .定义抽象类a

nimal

然后定义子类Cat和Dog,继承Animal,实现父类的eat()方法,同时定义一个自己的方法work()。

在main方法中调用

补充:

子类继承父类,重写父类的方法,

当子类对象调用重写的方法时,调用的是子类的方法,而不是父类的方法,

当想要调用父类中被重写的方法时,则需使用关键字super。

4、抽象:

a)概念:

抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象,数据抽象指的是属性,行为抽象指的是方法。

b)抽象方法:使用abstract修饰的方法是抽象方法。

b)抽象类:包含抽象方法的类是抽象类,抽象类使用abstract修饰。

(补充:不准确,抽象类中可以不包含抽象方法,但是如果一个抽象类中不包含抽象方法,定义为抽象类没有意义,所以我们就认为包含抽象方法的类就是抽象类)。

i.抽象类不能创建对象;

ii.如果一个类继承了抽象类,子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract。

iii.抽象类就是用来作为父类,让子类继承的。如果我们定义了一个抽象类,却不去继承它,就等于白白创建了一个抽象类,没有任何意义。

面试全集文章参考:http://www.importnew.com/22083.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。