Java面向对象的三大特点

Java面向对象的三大特点:继承、封装、多态

  继承

继承的起源

使用“is a”关系判断继承

Java中继承的实现

关键字:extends

实例化子对象

单继承和多继承

子类继承父类、父类还可以继承上一个类,称为传递继承。

Dog extends Animal;

Animal extends ShengWu;

所有类的根类Object

即object类是所有类的父类,object中所有的方法其他类都可以直接调用

方法重写

父类方法   Public void jiao(){system.out.print(“叫”)}

子类方法    Public void jiao(){system.out.print(“汪汪叫”)}

super关键字

super. 父类属性

this关键字

this.当前类属性

final关键字

final所修饰的类不可以被继承;所修饰的方法不可以被重写

实例化过程

调用父类的构造器

  封装

访问修饰符

Public公共的:在任何一个地方都可以调用

protected  受保护的:在同意包中可以访问,或者不同胞中原类的子类中可以调用

default 默认的:同一包中可以使用,不写出修饰符

private 私有的:只有当前类可以使用

封装可以提高代码的重用性,提高代码的可移植性,可以隐藏实现细节

修饰类只能是public或者default

理解静态成员

static 静态的

静态方法不能访问实例成员

静态初始化块

static{

语句体;

}

实例初始化块

静态块在对象实例化的时候只会执行一次,所以可以用来给定对象的初始值

Javabean原则:实体类属性通常使用private修饰,通过set和get函数去设置和获取数据。

  多态

向上转型自动转换  例如:Animal dog=new Dog();

父类对象的引用指向了子类对象的实例,向上转型后子类多特有的属性和方法就无效了。

如果子类重写了父类的方法,则调用子类的方法。

向下转型,类型还原      例如:Animal animal=new Dog();

子类特有的属性和方法就还原了  Dog dog=(Dog)animal;

instanceof           animal instanceof   Dog

在多态中,子类可以调用父类的所有方法(父类私有方法除外)。

abstract抽象的,不具备实际功能实现的,用来规范子类,只能修饰方法,抽象方法只能定义在抽象类里面,抽象类不能被实例化。子类必须实现这个方法,即子类必须重写父类的抽象方法。

public abstract class Animal{   代码体         }

  接口

接口里面都是抽象方法,接口必定是抽象类

接口声明

public interface 接口名{          }

接口实现

接口需要重新定义一个类来实现里面的方法

public class 类名 implements 接口名

如果是子类来实现接口:

public class 子类名 extends 父类名 implements 接口名{  }

接口应用

接口可以用于暴露类的行为,允许类的用户通过接口的实现来使用接口中的方法。

接口可以用于强制一个类具有某些行为。

在接口中声明成员变量

接口可以包含成员变量,但是成员变量只能用static和final关键字共同来修饰。由于接口不能被实例化,所以成员变量必须被声明为static,而声明为final是为了程序的可靠性。

Final属性在声明时就必须赋值。

接口继承

接口的继承同样是通过关键字extends

接口可以同时有多个。 implements 接口1,接口2…接口n

接口与多态

接口与抽象类的区别

二者都不能被实例化,用于被其他类实现或者继承。

二者都可以包含抽象方法,实现接口或者继承抽象类的子类都必须实现这些抽象方法。

区别:接口只能包含抽象方法,而抽象类可以包含普通方法。

接口不能定义静态方法,而抽象类可以定义。

接口只能定义静态常量属性,不能定义普通属性。而抽象类可以定义普通属性,也可以定义静态常量属性。

接口不包含构造器。抽象类里面的构造器做初始化工作。

接口中不包含初始化块。而抽象类可以包含初始化块。

一个类最多只有一个直接父类,包括抽象类;但是一个类可以直接实现多个接口,通过实现多个接口来弥补java单继承的不足。

时间: 06-18

Java面向对象的三大特点的相关文章

Java面向对象的三大特征

Java面向对象的三大特征: 封装.继承.多态 封装和继承几乎都是为多态而准备的 一.      封装 首先,属性能够描述事物的特征,方法能够描述事物的动作.封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用. 封装:封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生联系.也就是说用户无需知道内部的数据和方法的具体实现细节,只需根据留在外部的接口进行操作就行.

java基础篇(二) ----- java面向对象的三大特性之继承

java面向对象的三大特性之继承: 复用代码是java众多引人注目的功能之一,但是想要成为极具革命性的语言,仅仅是复制代码并对其加以改变是不够的.它必须能够做更多的事.引自<Think in java>    而代码复用也是程序员一直不断追求的.由此来说下代码复用的一种方式 java面向对象的三大特性--继承!! 在面向对象程序设计中,继承机制可以有效地组织类的结构.确定类之间的关系,在已有类的基础上开发新的类.继承机制在程序代码复用.提高软件开发效率.降低软件系统维护成本等方面具有重要作用.

java基础篇(一) ----- java面向对象的三大特性之封装

java面向对象的三大特性之封装:   封装(Encapsulation)是面向对象的一个重要特征,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节. 通俗的讲所谓封装就是将属性和方法捆绑到一起,封装到一个对象中去, 形成一个不可分割的独立单位,以及尽可能隐藏对象的内部结构,也就是说,如果我们使用了封装技术的话,别人就只能用我们做出来的东西而看不见我们做的这个东西的内部结构了. 如果形容一个人(假设把人看做一个类),我们可以用姓名.年龄,性别等来描述,如果不封

Java面向对象的三大特征和五大原则

Java面向对象的三大特征 封装 封装(Encapsulation)是指属性私有化,根据需要提供setter和getter方法来访问属性.即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问级别. 封装目的:增强数据安全性,不能让其他用户随意访问和修改数据,和简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员. 继承 继承(Extend)是指将多个相同的属性和方法提取出来,新建一个父类Java中一个类只能继承一个父类,且只能继承访问权限非private的属性和方法

Java面向对象编程三大特征 - 封装

Java面向对象编程三大特征 - 封装 本文关键字:Java.面向对象.三大特征.封装封装是面向对象编程中的三大特征之一,在对封装性进行解释时我们有必要先了解一些面向对象的思想,以及相关的概念.当我们想要去描述一系列的关系时我们要用到的最基本结构就是类,其中存在着成员变量和方法,用于记录属性和表达行为,相关知识请进传送门:Java中的基本操作单元 - 类和对象. 一.名词解读 为了解释封装的概念和作用,需要先来了解一下几个相关的概念,这有助于我们接下来的理解. 1. 权限修饰符 当我们在一个类中

Java 面向对象的三大特征

面向对象主要由三大特性: 封装 继承 多态 一.封装 1.封装的概念 封装性是面向对象编程的核心思想 指的就是将描述某种实体的数据和基于这些数的操作集合到一起,形成一个封装体 封装的思想保证了类内部数据结构的完整性,使用户无法轻易直接操作类的内部数据,这样降低了对内部数据的影响,提高了程序的安全性和可维护性. 2.封装的好处 只能通过规定方法访问数据 隐藏类数实现细节 方便修改实现 方便加入控制语句 3.封装的使用 1).修改属性的可见性   ——> 设为private 2).创建共有的 get

java面向对象的三大特性

1.面向对象的三大特性 继承.封装.多态 什么是继承? ①继承是面向对象程序设计能够提高软件开发效率的重要原因之一. ②继承是具有传递性的,就像现实中孙子不仅长得像爸爸而且还像他爷爷. ③继承来的属性和方法是隐式的,也就是在本类里面是看不见的. ④一个类只能有一个父类,也就是类只能是单继承. ⑤一个接口可以有多个父类,也就是接口可以是多继承. 实际项目开发中,一个类继承于另一个类,那么前者就是后者的子类,反则反之. 什么是封装? 对象数据和操作该对象的指令都是对象自身的一部分,能够实现尽可能对外

JAVA面向对象编程三大特性------封装、继承、多态

一.封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系.系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互.也就是说用户是无需知道对象内部的细节,但可以通过该对象对外的提供的接口来访问该对象. 对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以

java基础篇(三) ----- java面向对象的三大特性之多态

封装(encapsulation) 类使得数据和对数据的操作捆绑在一起,从而对使用该类的其他人来说,可以不管它的实现方法,而只管用它的功能,从而实现所谓的信息隐藏: 继承(inheritance) 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类.这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用.比如可以先定义一个类叫animal,animal具有以下属性:   眼睛,鼻子,耳朵 而又由ani