继承

  • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。
  • extends的意思是“扩展”。子类是父类的扩展。
  • Java中类只有单继承,没有多继承!即 一个儿子只能有一个爸爸,但是一个爸爸可以有多个儿子
  • 继承是类与类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
  • 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。
  • 子类和父类之间,从意义上讲应该具有“is a”的关系。
  • 私有的东西无法被继承
  • object类
  • super
  • 方法重写
- 继承是多态的前提,如果没有继承,就没有多态。
- 继承主要解决的问题就是:共性抽取。
- 继承关系当中的特点:
1、子类可以拥有父类的“内容”。
2、子类还可以拥有自己专有的内容。
- 定义父类的格式:(一个普通的类定义)
public class 父类名称{
//.....
} - 定义子类的格式:
public class 子类名称 extends 父类名称{
//..... }

super

父类

super注意点:

  • super调用父类的构造方法,必须在构造方法的第一个
  • super 必须只能出现在子类的方法或者构造方法中
  • super 和 this 不能同时调用构造方法!

this 与 super 的不同

  • 代表的对象不同:

    1、this:本身调用者这个对象,访问本类内容。

    2、super:代表父类对象的应用,访问父类内容。

    前提:this:没有继承也可以使用;super:只能在继承条件下才可以使用
  • 构造方法

    1、this();本类的构造

    2、super();父类的构造

this的典型三种用法:

package OOP.Demo06;
/*
* super关键字用来访问父类内容,而this关键字用来访问本类的内容。用法有三种:
* 1、在本类的成员方法中,访问本类的成员变量。
* 2、在本类的成员方法中,访问本类的另一个成员方法。
* 3、在本类的构造方法中,访问本类的另一个构造方法。
* 在第三种方法中要注意:
* A、this(...)调用必须是构造方法的第一个语句,唯一一个。
* B、super和this两种构造调用,不能同时使用。
* */
public class Zi extends Fu{
int num = 20;
public Zi(){
this(123); //本类的无参构造,调用本类的有参构造
// this(1,2); //错误写法。必须是构造方法的第一个语句
}
public Zi(int n){
}
public Zi(int n,int m){
}
public void showNum(){
int num = 10;
System.out.println(num);//10,局部变量
System.out.println(this.num);//20,本类中的成员变量
System.out.println(super.num);//30,父类中的成员变量
}
public void methodA(){
System.out.println("AAA");
}
public void methodB(){
this.methodA();//在本类的成员方法中,访问本类的另一个成员方法。
System.out.println("BBB");
}
}

黑暗是现实,共舞是选择。

Java面向对象之什么是继承?的更多相关文章

  1. java面向对象三大特性之继承

    通过重用已经测试并验证通过的代码,怎样才减少开发工作,所有开发团队都在为一问题而努力.一个久经考验的方法是通过有效地使用Java继承优化应用程序开发. 继承的从某种意义上讲,继承的短暂美就如同宇宙中所 ...

  2. Java面向对象(二、继承)

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

  3. -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal

    java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型  也就是 ...

  4. 深入理解Java面向对象三大特性 封装 继承 多态

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  5. Java 面向对象,封装,继承

    1相关概念的理解 1.1面向过程.面向对象 面向过程与面向对象都是编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.(职员思想) 面向 ...

  6. java面向对象(封装,继承,多态,抽象,接口的定义和实现)

    1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...

  7. Java面向对象三大特点之继承

    概念: 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 生活中的继承: 兔子和羊属于食草动物类,狮子和豹属于食肉动物类 ...

  8. java面向对象的三大特性——继承

    ul,ol { margin: 0; list-style: none; padding: 0 } a { text-decoration: none; color: inherit } * { ma ...

  9. Java面向对象的三大特性 继承

    继承是类与类的一种关系,是“is a"关系  子类拥有父类的属性和方法,private除外 class 子类 extends 父类   方法的重写 调用方法时会优先调用子类的方法 重写时,返 ...

  10. Java 面向对象(四)继承

    一.继承的概述(Inherited) 1.由来 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 其中,多个类可以称为 子类(派生类 ...

随机推荐

  1. 【FAQ】推送服务常见问题及解决方案

    一.推送成功收不到消息,推送返回:{"message":"success","requestID":"1523868*****28 ...

  2. [LeetCode]爬楼梯

    题目 假设你正在爬楼梯.需要 n 步你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解释: ...

  3. 02-逻辑仿真工具VCS使用

    逻辑仿真工具VCS使用 1 Makefile执行VCS仿真 # Makefile for simulating the full_adder.v with the simulator VCS # -- ...

  4. 一个关于sum over的疑问

    参考: http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html select * from bitest.tmp_0222_zym ; ...

  5. 代码小DEMO随笔---JS原生手机版本alert弹框

    之前的随笔写的是WEB版本的弹框,这次是手机版本,欢迎路过的大佬们提出更好的写法~~ <!DOCTYPE html> <html lang="en"> &l ...

  6. 默认方法:negate-集合信息筛选

    默认方法:negate "与"."或"已经了解了,剩下的"非"(取反)也会简单.默认方法negate的JDK源代码为︰ 集合信息筛选 数组当 ...

  7. drf-restful规范、django原生编写接口

    1.restful规范 REST全称是Representational State Transfer,中文意思是表述:表征性状态转移,它首次出现在2000年Roy Fielding的博士论文中.RES ...

  8. IOS12.0 + Xcode 12.0 错误:Building for iOS Simulator, but the linked and embedded framework 'XXX.framework' was built for iOS + iOS Simulator

    环境:IOS12.0 + Xcode 12.0 问题描述:运行编译 Building for iOS Simulator, but the linked and embedded framework ...

  9. 推荐一个分布式单点登录框架XXL-SSO!

    有关单点登录(SSO)之前有写过两篇文章 一文读懂 JWT! 看完这篇不能再说不懂SSO原理了! 如果说XXL-JOB你可能并不陌生,它是非常火爆的一个分布式任务调度平台.但其实在该作者还有一个非常优 ...

  10. Powershell获取当前文件夹内所有一级子文件夹大小

    需求:查看Windows某个文件夹所有一级子文件夹大小,并按照从大到小排序 解决方案:使用Powershell脚本 脚本内容如下 function filesize () {   [string]$f ...