面向对象的特性

封装 继承多态





封装:

定义:

通过对象的封装,实现了模块化和信息隐藏。

通过对类的成员施以一定的訪问权限,实现了类中成员

的信息隐藏





注意点:

对象自已该做的一些事情与方法不能交与其他类去实现。



将内部的实现隐藏化。别人不用去关心内部怎么实现。





仅仅要调用方法就能够得想结果。









继承:

继承的特性:





      A:通过继承能够实现代码的复用。子类能够继承父类中的变量及方法。





前提:父类訪问修饰符的控制对继承的影响:



父类私有的属性与方法不能被子类继承。





Default:同一包中能够訪问。





      B:父类包含全部直接或间接被继承的类。

      Animal

|

|

        ∨

       Dog

|

|

        ∨

       Dog_WangCai  

       

      C:子类不但继承父类的属性和方法,也能够拥有自已新增的属性与方

         法。





      D:Java中不支持多继承。(在Java中能够使用接口来模拟多继承的

      方式)。

        多继承带来的问题:假设使用多继承,父类中都拥有同样的方法

时,虚拟机无法推断是调用哪一个父类的方法。













使用继承所带来的问题:





1:变量的隐藏

当一个类继承还有一个类时,将继承父类的对象属性与类属性。

当子类中新增属性时,假设子类新增的属性与父类的属性名称

一致时,(类中不可能出现同样名称的属性)。父类的属性将

被自己主动隐藏。





2:方法的重写

当子类继承父类时,拥有父类的方法。

调用时,肯定是调用父类的方法。假设子类不惬意父类的实现

能够重写父类的方法。



重写的原则:





1:返回值,方法名称,方法的參数必需要跟父类一致。

2:子类重写的方法不能比父类拥有更严格的訪问权限。(>=父类的

訪问权限)

3:子类重写的方法不能抛出比父类很多其它的异常。





3:superkeyword

super能够用于调用父类的属性与方法和构造方法。





super():调父类的构造方法。这段代码必须写在子类构造方法的

第一行。

假设父类的构造方法有參数。

super(參数值):





super.XXX:调用父类的属性。

super.XXX():调用父类的方法。

J2SE基础:4.面向对象的特性一的更多相关文章

  1. J2SE基础:5.面向对象的特性2

    Final的使用 final在类之前 表示该类是终于类.表示该类不能再被继承. final在方法之前 表示该方法是终于方法,该方法不能被不论什么派生的子类覆盖. final在变量之前 表示变量的值在初 ...

  2. [.net 面向对象编程基础] (11) 面向对象三大特性——封装

    [.net 面向对象编程基础] (11) 面向对象三大特性——封装 我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即 面向对象的三大特性:封装.继承. ...

  3. [.net 面向对象编程基础] (12) 面向对象三大特性——继承

    [.net 面向对象编程基础] (12) 面向对象三大特性——继承 上节我们说了面向对象的三大特性之一的封装,解决了将对同一对象所能操作的所有信息放在一起,实现统一对外调用,实现了同一对象的复用,降低 ...

  4. [.net 面向对象编程基础] (13) 面向对象三大特性——多态

    [.net 面向对象编程基础] (13) 面向对象三大特性——多态 前面两节,我们了解了面向对象的的封装和继承特性,面向对象还有一大特性就是多态.比起前面的封装和继承,多态这个概念不是那么好理解.我们 ...

  5. python基础(25):面向对象三大特性二(多态、封装)

    1. 多态 1.1 什么是多态 多态指的是一类事物有多种形态. 动物有多种形态:人,狗,猪. import abc class Animal(metaclass=abc.ABCMeta): #同一类事 ...

  6. python基础(24):面向对象三大特性一(继承)

    1. 继承 1.1 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. python中类的继承分为:单继承和多继 ...

  7. JAVA基础——面向对象三大特性:封装、继承、多态

    JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据. ...

  8. Java基础-面向对象第一特性之封装(Encapsulation)

    Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...

  9. 夯实Java基础系列1:Java面向对象三大特性(基础篇)

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...

随机推荐

  1. 【ASP.NET Web API教程】3.4 HttpClient消息处理器

    原文:[ASP.NET Web API教程]3.4 HttpClient消息处理器 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 3.4 ...

  2. Swift - 判断设备类型开发兼容的iOS应用(iPad使用分隔视图控制器)

    1,分割视图控制器(UISplitViewController) 在iPhone应用中,使用导航控制器由上一层界面进入下一层界面. 但iPad屏幕较大,通常使用SplitViewController来 ...

  3. 利用SQL语句实现分页

    1.概述 在网页中如果显示的数据太多就会占据过多的页面,而且显示速度也会很慢.为了控制每次在页面上显示数据的数量,就可以利用分页来显示数据. 2.技术要点 在SQL Server中要实现SQL分页,需 ...

  4. c 可变参数 定义可变参数的函数

    定义可变参数的函数,需要在stdarg.h头文件中定义的va_list类型和va_start.va_arg.va_end三个宏. 定义可变参数函数 va_list ap;  //实际是定义一个指针va ...

  5. java swing设置frame的高度或图标

    Toolkit kit = Toolkit.getDefaultToolkit();                 Dimension dimension = kit.getScreenSize() ...

  6. Tiny并行计算框架之复杂演示样例

    问题来源  很感谢@doctorwho的问题: 假如职业介绍所来了一批生产汽车的工作,如果生产一辆汽车任务是这种:搭好底盘.拧4个轮胎.安装发动机.安装4个座椅.再装4个车门.最后安装顶棚. 之间有的 ...

  7. zoj2760(最大流)

    传送门:How Many Shortest Path 题意:给出n个点,和n*n的矩阵表示有向图.a[i][j]为-1表示i到j没有路径:不为-1则表示i到j的路径长度.给出一个vs和vt,要求vs到 ...

  8. poj1836--Alignment(dp,最长上升子序列变形)

    Alignment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 13319   Accepted: 4282 Descri ...

  9. UVA 11237 - Halloween treats(鸽笼原理)

    11237 - Halloween treats option=com_onlinejudge&Itemid=8&page=show_problem&category=516& ...

  10. poj3278(bfs)

    题目链接:http://poj.org/problem?id=3278 分析:广搜,每次三种情况枚举一下,太水不多说了. #include <cstdio> #include <cs ...