1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢?

我是这样理解的,对象是事物存在的实体,如,猪、狗,花早等都是对象,对象由两部分组成。面向对象编程的三大特点:继承,多态,类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。

2.面向对象在java中是如何实现的?

(1)通过类:类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。

(2)封装:是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想,用户只能通过对外提供的接口访问数据。

(3)多态:是指允许不同类的对象对同一消息做出响应,根据对象创建实例的不同调用不同的方法,本质是编译时和运行时才决定对象的行为。

这里分为两个知识点:静态分派,方法的重载,编译时决定

动态分派,方法重写,运行时决定。

多态的特点:可替换性,灵活性,扩展性,统一编码风格。

(4)继承:继承是指从已有的类中派生新的类,新的类能够吸收已有类的数据属性和行为,并能够扩展新的功能。

特点:可扩展性,代码复用。

抽象类和接口的区别:抽象类单继承,能声明能实现,最大应用场景,模板方法模式的设计。

接口:多继承,只能声明,面向接口编程,spring。

面向对象的目的,代码的可重复性、可扩展性、可靠性。