java面向对象的三大特性----封装、继承、多态
2016-10-16 14:26
651 查看
1、封装
所谓封装,就是把实现细节隐藏起来,把该公开的公开,该私有的私有;简单点说,对于一个类,其中包含有属性和方法,其中属性对外部来说,可有可无,此时就可有把属性设为private,提供公开的getter/setter方法供外部访问。对于方法来说也是把该私有的私有化,对外部需要调用的公开化。
2、继承
关键字:extends
继承语法
public 子类名 extends 父类名 {}
一个类A继承了另一个类B,类A就拥有了类B中所有的非私有成员。
注:Java只支持单继承,也就是说一个类只能继承一个类;类的继承具有传递性,A继承了B,B又继承了C,那A也继承了C。
继承中的访问权限修饰符:
private:只有本类可以访问。
(default):同一个包内可以访问,也就是父类与子类处于同一个包,子类可以继承父类相应的内容,不同包子类就不能继承父类中相应的内容。
protected:同包内可以访问,子类和父类处于不同包,其子类也可以访问父类中相应内容。
public:任何地方都可以访问。
注:父类构造方法不能被继承。
继承的意义:子类可以在父类的基础上对扩展,继承可以降低程序的耦合性,也就是使对象间的联系变的松散,使对象间的联系使用父类替代。
方法覆盖:重写父类中继承到的方法,方法名、参数、返回值必须相同,同时不能降低父类方法的访问权限。
super关键字:
super(),表示在子类构造方法中调用父类构造方法,super()只能在子类构造方法中调用,且只能写在第一句。不写系统会默认掉用系统的无参构造方法。如果父类重载了带参数的构造方法,且没有写无参构造方法,那在子类构造方法中必须调用super(xx,xx)保证父类的构造。在子类中调用父类的方法,采用super.方法名 调用。
this:指代当前对象。
3、多态
具有同一种编译时类型的对象引用,调用同一个方法,而在运行时具备不同的行为,这就是多态。
多态的条件:具有继承关系,方法覆盖。
对一个对象来说,在对象产生时,运行时类型就已经确定不可改变,编译时类型可以和运行时类型不同。在一个对象声明时可以确定其运行时类型,单编译时类型可以指向其本类型或其子类型。
注:类的属性没多态,只会根据编译时类型访问。只有子类覆盖了父类的方法,且把子类对象当做父类类型看待时才有多态。要注意区分子类中方法的重载。
所谓封装,就是把实现细节隐藏起来,把该公开的公开,该私有的私有;简单点说,对于一个类,其中包含有属性和方法,其中属性对外部来说,可有可无,此时就可有把属性设为private,提供公开的getter/setter方法供外部访问。对于方法来说也是把该私有的私有化,对外部需要调用的公开化。
2、继承
关键字:extends
继承语法
public 子类名 extends 父类名 {}
一个类A继承了另一个类B,类A就拥有了类B中所有的非私有成员。
注:Java只支持单继承,也就是说一个类只能继承一个类;类的继承具有传递性,A继承了B,B又继承了C,那A也继承了C。
继承中的访问权限修饰符:
private:只有本类可以访问。
(default):同一个包内可以访问,也就是父类与子类处于同一个包,子类可以继承父类相应的内容,不同包子类就不能继承父类中相应的内容。
protected:同包内可以访问,子类和父类处于不同包,其子类也可以访问父类中相应内容。
public:任何地方都可以访问。
注:父类构造方法不能被继承。
继承的意义:子类可以在父类的基础上对扩展,继承可以降低程序的耦合性,也就是使对象间的联系变的松散,使对象间的联系使用父类替代。
方法覆盖:重写父类中继承到的方法,方法名、参数、返回值必须相同,同时不能降低父类方法的访问权限。
super关键字:
super(),表示在子类构造方法中调用父类构造方法,super()只能在子类构造方法中调用,且只能写在第一句。不写系统会默认掉用系统的无参构造方法。如果父类重载了带参数的构造方法,且没有写无参构造方法,那在子类构造方法中必须调用super(xx,xx)保证父类的构造。在子类中调用父类的方法,采用super.方法名 调用。
this:指代当前对象。
3、多态
具有同一种编译时类型的对象引用,调用同一个方法,而在运行时具备不同的行为,这就是多态。
多态的条件:具有继承关系,方法覆盖。
对一个对象来说,在对象产生时,运行时类型就已经确定不可改变,编译时类型可以和运行时类型不同。在一个对象声明时可以确定其运行时类型,单编译时类型可以指向其本类型或其子类型。
注:类的属性没多态,只会根据编译时类型访问。只有子类覆盖了父类的方法,且把子类对象当做父类类型看待时才有多态。要注意区分子类中方法的重载。
相关文章推荐
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- Java — 面向对象的三大特性(封装、继承、多态)
- Java的面向对象的三大特性 封装 继承 多态
- java笔记—封装、继承、多态[面向对象的三大特性]
- 深入理解Java面向对象三大特性 封装 继承 多态
- Java面向对象的三大特性——封装,继承,多态
- Java学习第六课--面向对象的三大特性(封装、继承和多态)
- Java之面向对象的三大特性:封装,继承,多态讲解
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- 【java学习】面向对象三大特性:封装,继承,多态
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- java语言基础(23)——面向对象三大特性(封装、继承、多态)
- 深入理解Java面向对象三大特性 封装 继承 多态
- java三大特性:封装、继承、多态
- 黑马程序员_iOS开发之OC之面向对象之三大特性封装、继承和多态
- Java面向对象的三大基本特征:继承、封装与多态
- 面向对象三大特性概述[封装、继承、多态]
- 黑马程序员——OC面向对象三大特性——封装,继承,多态。
- 面向对象三大特性(封装,继承,多态)之多态
- 面向对象的三大特性:封装、继承、多态