Java语言-6:继承和多态

原创 2018年04月17日 01:06:39
1、继承的概述:将多个类抽取位一个独立的类,让独立的类和多个类产生继承关系
 
   继承 的关键字:extends
  格式:
   class 子类名 extends 父类名{
  ...

  }

2、继承的特点:子类继承父类,是继承了父类所有的东西(成员变量,成员方法,包括私有),但是子类不能使用私有的东西,只能通过父类的公共的访问间接的让子类来访问它。

3、继承的好处:1)可以实现很好的封装行
(2)提供了代码的复用性,解决了代码的臃肿

(3)是多态的前提(多态的前提是必须有继承关系)

4、使用继承的注意事项:

        注意事项:

(1)子类只能继承父类所有非私有的成员(成员方法和成员变量)
      (2)子类不能继承父类的构造方法,但可以通过super关键字去访问父类构造方法。
什么时候使用继承:
(1)需要从基本类中得到重用的代码
(2)需要对不同的数据类型使用相同名称的类和方法

(3)通过改变一个基本类,就改变所有的派生类

5、多态的概述:在同一个时刻,体现出来的不同状态;

6、多态的前提:  (1)必须有继承关系:子类继承父类
   (2)必须有方法重写:

   (3)必须有父类父类的引用指向子类对象

7、多态中成员访问的特点: (1)成员变量:编辑看左,运行看左
(2)成员方法(非静态):编辑看左,运行看右(存在方法重写)
(3)构造方法:无论子类还是父类,都是对对象进行初始化

(4)静态成员方法:编辑看左,运行看左(静态和类有关系,算不上方法重写)

8、多态的好处和弊端:多态的好处:
(1)可以提高代码的复用性:继承保证
(2)可以提高代码的扩展性:由多态保证
多态的弊端:
(1)父类引用指向子类对象

(2)通过父类的引用调用子类特有功能,不能调用

9、如何解决多态的弊端:  向下转型:将子类的引用强制转换为父类的引用

10、什么是向下转型?与之对应的向上转型?

        向上转型:
在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。即将子类对象转为父类对象。
向下转性:
把父类对象转为子类对象(在向下转型之前,必须的先向上转型)

Java语言中继承和多态。

  • 2011年12月22日 10:04
  • 34KB
  • 下载

Java 继承与多态实验

实验讲义   上机题目一:试以Point类为例,尝试对Object类的clone()方法和equal()方法进行覆盖。 上机题目二:现在输入n个数字,以逗号分开、放入一个字符串中,然后按升序和降序排序...
  • u014253173
  • u014253173
  • 2014-04-12 11:28:03
  • 1858

面向对象程序设计-继承与多态

前面我们讨论了如何在 JavaScript 语言中实现对私有实例成员、公有实例成员、私有静态成员、公有静态成员和静态类的封装。这次我们来讨论一下面向对象程序设计中的另外两个要素:继承与多态。 1 又...
  • claram
  • claram
  • 2016-06-02 15:48:57
  • 5454

【python学习笔记】Python面向对象的理解(封装,继承,多态)

说明提到面向对象,总是离不开几个重要的术语:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation)。Python也是一种支持OOP的动态语言,本文将简单阐...
  • qq_29287973
  • qq_29287973
  • 2017-09-06 16:46:56
  • 1805

Java面向对象:封装、继承、多态

为什么要面向对象编程? 以前开发的过程通常是采用面向过程编程,面向过程是以过程为中心来进行编程设计,本质上是分析出需要哪些过程,在编程时一步步的对其实现,但是随着软件规模的扩大,这种面向过程的设计模式...
  • wangyang1354
  • wangyang1354
  • 2015-09-30 16:44:06
  • 1509

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

接触过面向对象的人都知道面向对象有三大特征,分别是封装、继承和多态。这三者分别指的是什么,为什么是这哥仨,使用他们有什么好处,我们来梳理一下。 封装        原则:隐藏对象的属性和实现细节,仅对...
  • haovip123
  • haovip123
  • 2015-02-20 16:59:52
  • 3624

【c++知识归纳】继承与多态(一)

c++是基于面向对象的编程语言,面向对象的三大特性为:封装、继承和多态。本文将我对继承与多态的理解进行了总结归纳,这部分内容对于学习c++编程语言是非常重要的,文章加入我的个人理解,希望能给大家带来帮...
  • XHfight
  • XHfight
  • 2016-08-24 02:45:19
  • 1792

多态和继承的区别

类和对象的区别 它们的关系是,对象是类的实例,类是对象的模板 面向对象的四要素:封装(wrap)、继承(inheritance)、重载(override)还是多态(polymorphism),亦或是...
  • u010828718
  • u010828718
  • 2015-11-09 06:35:02
  • 811

继承、多态,重载、重写的区别与总…

继承、多态,重载、重写的区别与总结 一道必考的JAVA核心面试题,什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承、多态、重载和重写。 ...
  • li19236
  • li19236
  • 2014-11-25 18:10:42
  • 2096

如何理解封装、继承和多态

封装:  封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。   封装的意义:   封装的意义在于保护或者防止代...
  • c_w_d
  • c_w_d
  • 2016-10-31 14:36:27
  • 19135
收藏助手
不良信息举报
您举报文章:Java语言-6:继承和多态
举报原因:
原因补充:

(最多只允许输入30个字)