java中的面向对象的三大基本特征是:【封装】、【继承】、【多态】

封装:对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性)

  • 属性(bean、pojo):私有的private,有set和get方法
  • 方法:公开或私有 ,public/private
  • 方法声明和实现(interface,implements)

继承:共性放到父类,特性放到子类;父类 --> 子类 --> 一般

  • 关键字: extends
  • java中一个类最多只能有一个直接的父类,即单继承(具有简单性、树形结构)
  • tip:java中要实现多继承,通过接口来实现。
  • 父类中所有属性和方法都能继承给子类;父类中的私有方法不能继承给子类。
  • java中的访问修饰符
    访问修饰符 访问权限 继承
    private 本类 不能继承
    default 本类+同包 同包子类可以继承
    protected 本类+同包+不同子包 可以继承
    public 公开 可以继承
    • 构造对象过程

(1)分配空间
       (2)递归地构造父类对象
              a. 父类 初始化属性
              b. 父类 构造方法
      (3)初始化属性
      (4)调用构造方法

  • super
          super()  调用父类的构造方法,只能出现在构造方法的第一行
          super.方法名   super表示父类的对象,通过它去调用父类的方法
          注意:在写类的时候,一定要写默认无参的构造方法,如果一个构造方法的
                   第一句既不是this(),也不是super()时,那么就会在这里隐含的调用
                   他的父类的无参的构造方法,即隐含的有super()。

多态:运行时多态(子类的对象放在父类的引用中,例如 Animal a=new Dog,子类对象当父类对象来使用。)

      • 多态原则:
               (1)对象类型不变
               (2)只能用引用调用其引用类型中定义的方法
               (3)运行时,根据对象的实际类型去找子类覆盖之后的方法
                     例子:
                          有Animal类中有eat()和sleep()两个方法,sleep()中睡8小时;子类Dog中有
                          eat()方法,sleep()方法中睡6小时,还有wangwang()方法。
                          现创建Animal a=new Dog(); 不能调用a.wangwang(),调用a.sleep()输出睡6小时。
      • 对象的强制转换 :
                           格式: 引用 instanceof 类型
                                引用所指的对象是否与类相符,返回值boolean值。
                         用法:
                               Animal a=new Cat();
                               if(a instanceof Dog)
                               {
                                  Dog d=(Dog)a;
                                  d.wangwang();
                                }
                         说明:如果只有Dog d=(Dog)a;运行时错误,因为a是Cat而不是Dog (多态原则第一条)
      • 多态的灵活变换
               (1)用于参数列表上:
                                       public void m(A a){} 可以用A类的任何子类对象作为参数
                (2)用在返回值上:
                                      public A m(){}  这个方法可能返回A类的任何子类对象

java 三大基本特征的更多相关文章

  1. Java三大特征之继承(二)

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  2. java中的面向对象的三大基本特征

    转载,原文来自http://blog.sina.com.cn/s/blog_5f79a56a0100c6ig.html 众所周知,java中的面向对象的三大基本特征是:[封装].[继承].[多态] 一 ...

  3. [转]JAVA三大框架SSH和MVC

    Java—SSH(MVC) JAVA三大框架的各自作用  hibernate是底层基于jdbc的orm(对象关系映射)持久化框架,即:表与类的映射,字段与属性的映射,记录与对象的映射 数据库模型 也就 ...

  4. JAVA三大框架SSH和MVC

    Java—SSH(MVC) JAVA三大框架的各自作用    hibernate是底层基于jdbc的orm(对象关系映射)持久化框架,即:表与类的映射,字段与属性的映射,记录与对象的映射 数据库模型 ...

  5. 浅谈Java三大特性

    Java三大特性想必大家都不陌生:封装.继承以及多态.很多刚接触Java的小伙伴都会想,它们到底有什么了不得之处,又赋予Java这门编程语言什么魔力呢?今天我们来探讨一下吧~~ 首先,名词解释: 封装 ...

  6. Java三大框架 介绍

    三大框架:Struts+hibernate+spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

  7. Java 三大特性——封装、继承、多态

    一.封装 封装,实际就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用. 概念:在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节 ...

  8. java 三大框架 介绍

    三大框架:Struts+Hibernate+Spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

  9. JAVA三大框架的各自作用

    http://christhb.blog.163.com/blog/static/98982492011727114936239/ 一.Spring Spring是一个解决了许多在J2EE开发中常见的 ...

随机推荐

  1. 百度之星2016资格赛D,水题

    很简单的题,主要是要用字符串哈希,把字符串处理成整数.接下来可以继续用hash,也可以像我一样用个map就搞定了. /* * Author : ben */ #include <cstdio&g ...

  2. 九度OJ 1121:首字母大写 (字符串处理)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2865 解决:1007 题目描述: 对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母. 在字符串中,单词 ...

  3. 无法启动FTP站点,服务目前停止

    在本地搭建了一个FTP服务器(windows搭建FTP服务器实战),再启动的时候提示错误: 错误提示信息: 根据提示可以查出问题原因:FTP服务没有开启 启动服务,再次重启站点服务.一切OK. 亲测好 ...

  4. Struts2中properties

  5. Xcode各个版本及模拟器下载

    如果你嫌在 App Store 下载 Xcode 太慢,你也可以选择从网络上下载: Xcode下载(Beta版打的包是不能提交到App Store上的) 绝对官方源!!!绝对官方源!!!绝对官方源!! ...

  6. BAT网络运维常见面试题目总结

    BAT常见面试题目总结 Author:Danbo 2015-7-11 TCP/IP详解鸟哥Linux的书网络安全ping的原理make的过程文件有哪些类型各种Linux发行版的区别.有关suid的作用 ...

  7. RAC 单节点实例异常关闭,关键报错ORA--29770

    监控系统监控到RAC 的一个实例异常关闭 ,时间是凌晨1点多,还好没有影响到业务 之后就是分析原因 这套RAC搭建在虚拟化环境OS SUSE11 查看oracel alert log信息 Mon :: ...

  8. HihoCoder 1590 : 紧张的会议室(区间最大+离散化)

    时间限制:20000ms 单点时限:2000ms 内存限制:256MB 描述 小Hi的公司最近员工增长迅速,同时大大小小的会议也越来越多:导致公司内的M间会议室非常紧张. 现在小Hi知道公司目前有N个 ...

  9. Java笔记(五)

    泛型:JDK1.5版本后出现的新特性.用于解决安全问题,是一个类型安全机制. 好处:将运行期间出现问题ClassCastException,转移到了编译时期.方便程序员解决问题,让运行时问题减少. 避 ...

  10. bzoj 3309 DZY Loves Math——反演+线性筛

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3309 像这种数据范围,一般是线性预处理,每个询问 sqrt (数论分块)做. 先反演一番.然 ...