您的位置:首页 > 职场人生

黑马程序员-------------java面向对象的三大特征

2015-05-15 11:35 281 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

一:封装

(1) 抽象:处理各种问题的第一步,把具体的问题与解决问题的方法结合起来,这就是抽象的过程.

(2)Java常见的访问控制修饰符:

1、权限访问修饰符

public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。

包外 子类 包内 类内

public yes yes yes yes

protected no yes yes yes

default no no yes yes

private no no no yes

Final:修饰属性:常量,值不能被修改。修饰类,类不能被继承。修饰方法,方法不能被重写。

(4)Static:修饰属性:静态属性是类所有实例共有,可以用”类名.属性”的方式访问,对于数值型变量,系统会给定初始值,不强制要求赋初始值.

(5)方法:可以用”类名.属性”的方式访问,方法也为类的所有实例所共有

(6) 代码块 : 加载的优先级最高,甚至比主方法的加载还要早.

对于由final static共同修饰的变量,赋值的机会有两个,一是在声明的时候,二是在静态代码块中,两次机会有且只能有一次被选择.

(7)getter/setter 方法;对某一个属性只提供get不提供set方法,就是只读的,在类的外部不能修改;

二:继承

1.(1)继承是允许存在父子类的关系,一个子类有且只有一个直接的父类(Java中的继承是类之间的单继承.)

(2)属性的例子: Father f = new Son(); 属性访问到的是父类的,方法访问到的是子类的.

(3)方法的重载 :在类的内部一种方法出现多种表达方式,如参数表的不同,构造方法的重载

(4)方法的重写:发生在父子类之间,子类方法对父类的方法有新的实现方法,但两个方法定义部分完全一致.

(5)继承的目的: 实现代码的复用.理顺类型对象之间的结构关系.

(6) 构建一个父类的时候,要求他的子类与父类必须有理论上的确实的继承关系

(7)任何父类适用的地方,子类一定适用;

extends: 继承,实际上是对父类的扩展;

2:有关抽象类:

(1)抽象类是用于描述自然界中层级较高的对象类,人们无法对一个抽象类实例化,如动物。只能用一个动物类的子类对抽象类的对象进行实例化。

(2)抽象修饰符abstract 可以修饰类,修饰方法。

(3)抽象类中可以定义非抽象的方法,但如果一个类中有抽象方法,则这个类必须被定义成抽象类。抽象类中有构造方法,但是没有抽象的构造方法。构造方法的存在完全是为了继承关系而存在。

(4)与之形成对比的就是接口,接口中的所有方法要求定义成公开抽象方法,因为这些方法所表示的就是标准,标准的信息必须做到公开化,透明化,例如体育竞赛中的规则。

(5)抽象类就是类,接口就是接口,都处于较抽象的层级而使它们具有相近的特性。(接口可以看成是一个特殊的抽象类)

三:多态

1:多态是:一个接口多种实现,可以理解为一种语法上的允许,表现形式多样。

(1)Java中的多态基本上是由接口实现的,抽象类与子类之间的多态只占一少部分,接口是在Java中抽象层级最高的一类,其内部的定义是纯抽象的,属性的定义是公开静态常量,纯抽象的方法和常量属性构成一个标准,其所有的实现类,包括抽象类都要遵守接口中定义的规则。

(2)Java类中的通信方式最好是以接口的形式进行值或对象的传递,如灯泡与台灯的关系。无论将何种类型的对象作为参数,只要是接口对象的一个实现类,就可以成为一个合理的参数.

(3)将两个模块的内容以接口的方式进行通信,可以使两个模块的开发方式相对独立,不依赖于任何一个模块的已实现的信息。对于多态不必要下明确的定义,只需要理解它的表现形式以及意义。接口的存在表面上是实现一种多态语法,实际上是实现了Java中的多继承方式,一个类可以同时继承一个类,并实现另一个或多个接口,以同时获得多个类型的信息(包括属性和方法)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: