继承

新建子类对象是,先新建父类对象,并执行父类的构造方法,

默认执行父类的无参构造放方法

可以 手动调用父类的有参构造 super(参数 )

super

super.xxx()

调用父类成员

一般重写方法, 调用父类同一个方法代码

super();

调用父类构造方法

默认调用父类无参构造super()

可以手动调用父类有参构造 super(参数)

多态

作用: 一致的类型

所有子类型对象,都可以被当做一致的父类对象来处理

类型转换

向上转父类, 子类实例转型成父类型,

只能调用父类通用成员

向下转子类, 已经转为父类型的子类实例,再转回成子类型,

向下转型必须强转,

某种类型,要特殊处理,可以转回成子类型处理

向下转型后,才能调动子类特有的成员

instanceof

  运行期的类型识别 

  对真实类型及其父类型判断  都是成立的

Shape s = new line();

s instanceof Line 返回 true

s instanceof Shape 返回 true

面向对象: 特性

  封装: 类,对象,引用,构造方法,this,重载

  继承: 作用--代码重用

           单继承,子类对象, 父类构造方法,重写

  多态: 作用--

          向上转型,向下转型

          instanceof 运行期的类型识别

抽象类 : 为子类提供通用的方法定义

   abstract 关键字

  半成品类 ,没有完成的类

  抽象类不能创建实例, 

  包含抽象方法的类, 必须是抽象类

  抽象方法去掉方法大括号,分号结束

  抽象方法必须在具体子类中完后实现

  继承抽象类, 必须完成抽象方法

  

java - day007 - 继承(2), 多态,面向对象,抽象类的更多相关文章

  1. 原来你是这样的JAVA[03]-继承、多态、抽象类

    一.继承 Java中的继承使用关键字extends ,跟C#的语法略有差别. 1.子类构造器 java会自动在子类的构造器中插入对父类构造器的调用,也就是说在子类可以访问父类之前已经完成了父类的初始化 ...

  2. Java的继承和多态

    看了博客园里面的一个文章,关于java的继承和多态: class A ...{ public String show(D obj)...{ return ("A and D"); ...

  3. java类的继承,多态,抽象类与接口

    知识点梳理:     1,怎样定义自己的类. MyStarFrame,MyStarPanel 类中定义: (1)属性(数据),变量. (2)方法(函数),行为. (3)构造方法(特征,作用,何时被调用 ...

  4. Java语言简介、基础组成、封装、继承、多态、抽象类、内部类、接口

    目录 Java简介 Java语言基础组成 面向对象 对象 封装 构造函数 this关键字 static(静态关键字) 主函数 静态什么时候用呢? 面向对象(数组工具对象建立) 设计模式 继承 成员变量 ...

  5. [转]Java中继承、多态、重载和重写介绍

    什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承.多态.重载和重写. 继承(inheritance) 简单的说,继承就是在一个现有类型的基础上 ...

  6. [ Java学习基础 ] Java的继承与多态

    看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...

  7. Java基础——继承和多态

    面向对象的编程允许从已经存在的类中定义新的类,这称为继承. 面向过程的范式重点在于方法的设计,而面向对象的范式将数据和方法结合在对象中.面向对象范式的软件设计着重于对象以及对象上的操作.面向对象的方法 ...

  8. java中继承和多态

    转自原文http://blog.csdn.net/xinxin19881112/article/details/2944760 若冒犯博主,请勿见怪! 1.  什么是继承,继承的特点? 子类继承父类的 ...

  9. java中继承和多态的理解

    继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父 ...

随机推荐

  1. webview 更新方法细节

    plus.webview.getWebviewById("user.home").evalJS("getHomeData()");//调用页面方法 plus.w ...

  2. Go语言中Loop的注意点

    Go语言和其他语言不一样,它只有一种循环方式,就是for语句 可以参考如下公式: for initialisation; condition; post{ //Do Something } 执行顺序 ...

  3. [unix]commvault在unix系统上本地安装报“NFS directory cannot be used”

    远程安装持续的pending: 本地安装报“NFS directory cannot be used” 修改安装包 安装目录 的权限, 从777改回775. 就可以解决这个报错.

  4. CF1114D 【Flood Fill】

    Solution 一看就是很水的区间DP \(dp[i][j]\)表示区间\([l,r]\)都涂成同色的代价. \(dp[i][j] = min( dp[i][j], dp[i][k] + dp[k] ...

  5. 反射与jvm

  6. Linux下的sudo及配置

    sudo的常用命令 man sudoers # 参阅帮助 visudo # 编辑sudoers文件的命令 sudo -l # 查看可执行或禁止执行的命令 sudo -u user1 /bin/ls # ...

  7. Tomcat系列(7)——Tomcat类加载机制

    1. 核心部分 1. 类加载器: 通过一个类的全限定名来获取描述此类的二进制字节流. 对于任意一个类,都需要由加载他的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一 ...

  8. .Net Core配置文件介绍

    Net Core中的配置文件介绍 1 简单回顾.Net Framework配置文件 .Net Core中的配置文件操作较.Net Framework有了很大的改动.介绍.Net Core中配置文件操作 ...

  9. 并发编程之CountDownLatch

    在前面的两篇文章中我们分别用volatile.notify()和wait()分别实现了一个场景,我们再来回顾一下前面的场景:在main方法中开启两个线程,其中一个线程t1往list里循环添加元素,另一 ...

  10. 【Unity游戏开发】记一次解决 LuaFunction has been disposed 的bug的过程

    一.引子 RT,本篇博客记录的是马三的一次解决 LuaFunction has been disposed 的bug的全过程,事情还要从马三的自研框架 ColaFrameWork 说起.最近,马三在业 ...