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面向对象的三大特性

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

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

封装: 封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法),才能对数据进行操作. 封装--访问控制修饰符(Java提供四种访问控制修饰符) 1.public  :公开级别,范围最广的. 2.protected:受保护级别,对子类和同一个包内的类公开. 3.default:默认级别,可以不写修饰符号,向同一个包的类公开. 4.private:私有级别,只有类本身可以访问,不对外公开. 继承: 继承可以解决代码复用,让我们的编程更加靠近人

Java面向对象的封装

封装是Java面向对象的三大特性之一,通常我们是通过包管理机制同时对类进行封装,隐藏其内部实现细节,通常开发中不允许直接操作类中的成员属性,所以属性一般设置为私有权限private,类中一般会给出一些公共方法来让使用者通过特定方法读取或者操作里面的数据,避免误操作从而保证了数据的安全. 封装步骤一般分为3步,第一步首先修改属性的可见性,即将其设置为private:第二步创建getter/setter方法,用于获取/设置属性值,就是用来读写属性,eclipse中也提供了直接生成变量操作方法的菜单,

(1) 深入理解Java面向对象三大特性 封装 继承 多态

转眼已经工作快6年了,最开始做了2年J2EE:然后整了2年的数据仓库,主要是Cognos的报表开发:现在从事4G LTE核心网的开发,用的语言任然是Java,但写代码的机会不多,基本都是看代码找BUG,偶尔做点new feature也是在比较成熟的框架上复制.粘贴.修改,大部分时间还是在理解业务,钱多.事少.离家近,当时来这家公司图的是后面2点,2年过去了,英文水平有所提升,对敏捷开放也有一定的了解,但技术方面明显退步了或者说没有进步吧,本来以前也不怎么好,因为工作上用不到,自己也没怎么学习,所

面向对象的三大特性

面向对象的三大特性: 封装, 继承, 多态 封装 封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节 继承: 子类拥有父类的属性和方法, 任何一个类都继承 Object (不管是java定义的还是自己定义的)::: Object.finalize()-->调用这个方法来释放资源: 多态(执行期间(执行期间-->你在控制台上写 java 类名 运行某个文件的时候叫执行期间)的动态绑定, 池绑定): 重载

面向对象的三大基石(封装,继承和复合,多态)

转自 面向对象的三大基石面向对象的三大基石(封装,继承和复合,多态) 三大基石之一 封装 1.什么是封装? 封装(encapsulation)又叫隐藏实现(Hiding the implementation).就是只公开代码单元的对外接口,而隐藏其具体实现. 比如你的手机,手机的键盘,屏幕,听筒等,就是其对外接口.你只需要知道如何按键就可以使用手机,而不需要了解手机内部的电路是如何工作的.封装机制就像手机一样只将对外接口暴露,而不需要用户去了解其内部实现.细心观察,现实中很多东西都具有这样的特点

java面向对象小总结

类: 类就是对某一事物的描述(举例:蔬菜,水果,动物) 对象: 对象就是实际存在的事物的个体,(举例:蔬菜中某一种,人类(分男人和女人)) 标准类: [类的修饰字] class 类名称 [extends  父类名称][implements    接口名称列表]{ 变量定义及初始化:        成员变量: 方法定义及初始化:        成员方法: } 记住:继承只能继承一个类,可以实现多个接口, static:静态方法,又称为类方法,static声明的变量值,所有对象使用的值都是一致的 调

Java面向对象笔记4

封装.继承.多态是面向对象的三大特征,在Java中什么是多态? Java引用变量有两种类型,分别是编译时类型和运行时类型.何为编译时类型,编译时类型就是由声明该变量时使用的类型决定,而运行时类型是由实际赋给该变量的对象决定 的,也就是说如果编译时类型和运行时类型不一致时,就可能出现上面提到的多态. 我们看下下面的程序: class BaseClass { public String name = "BaseClass"; public void base() { System.out.

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气