继承的理解

继承:对类进行抽象化;也就是将存在的类构造成新的类;

比如说学生是一个类,老师是一个类,那么我们可以将学生类和老师类收纳进人这个类;那么学生和老师则为子类(派生类)、人为父类(基类);子类继承父类。

语法格式:

public class Students extends Person{
//用extends关键字表示Students类继承Person类
}

当我们将一个类继承与另外一个时,会发生什么:

  1. 子类会继承父类的所有属性和方法;但是如果父类中属性和方法被私有化后,子类无法访问;
  2. 子类在对象实例化时会先调用父类构造器,再调动自身的构造器
//创建一个人类
public class Person{
//设置两个属性,一个公用,一个私有化
String name;
private double money;
public Person(){
System.out.ptintln("Person的无参构造方法启动了")
}
public Double getMoney(){
return Money;
}
public void setName(double money){
this.Money=Money;
}
}
public class Students extends Person{
public Students(){
System.out.ptintln("Students的无参构造方法启动了")
}
}
public class Application{
public staitc void main(String[] args){
Students stu=new Students();//当我们将学生类实例化然后输出
}
}
//运行结果(学生类实例化后运行)
Person的无参构造方法启动了
Students的无参构造方法启动了
//我们发现在学生类实例化时,其父类的构造器也会被调用
//回到刚才的Application类
public class Application{
public static void main(String[] args){
Students stu= new Students();
stu.name="工地佬";//我们发现Students类中并没有任何属性;却访问到了其name属性;原因是因为Students类继承其父类的属性
//stu.money;//当我们去调用其money方法时会报错;因为在父类中money属性是被私有化的,所以子类是没有办法继承的;但是父类中留有访问封装属性的方法;子类可以通过方法来访问私有属性
stu.setMoney(10_0000);
System.out.ptinln(stu.getMoney());
}
}
//运行结果
工地佬
10_0000

总结:

  • 父类中的所有属性和方法都能被子类继承,可通过外部程序将子类实例化后调用;
  • 父类的私有属性不能被子类继承,只能通过访问封装属性的方法进行调用;
  • 所有的类都默认继承Object类
  • 子类只能继承一个父类,成为单继承;而父类可以拥有很多子类;

Day20:继承详解的更多相关文章

  1. [原创]JavaScript继承详解

    原文链接:http://www.cnblogs.com/sanshi/archive/2009/07/08/1519036.html 面向对象与基于对象 几乎每个开发人员都有面向对象语言(比如C++. ...

  2. “全栈2019”Java第九十九章:局部内部类与继承详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. 第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解

    第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解 一.    引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类 ...

  4. 「万字图文」史上最姨母级Java继承详解

    摘要:继承是面向对象软件技术中的一个概念.它使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用. 本文分享自华为云社区<「万字图文」史上最姨母级Java继承详解丨[奔跑吧!JAVA] ...

  5. CSS样式表继承详解

    最近在恶补css样式表的基础知识.上次研究了css样式表之冲突问题详解 .这次是对 css 继承 特性的学习. 什么是css 继承?要想了解css样式表的继承,我们先从文档树(HTML DOM)开始. ...

  6. Kotlin——从无到有系列之中级篇(四):面向对象的特征与类(class)继承详解

    如果您对Kotlin很有兴趣,或者很想学好这门语言,可以关注我的掘金,或者进入我的QQ群大家一起学习.进步. 欢迎各位大佬进群共同研究.探索 QQ群号:497071402 进入正题 在前面的章节中,详 ...

  7. JavaScript继承详解

    面向对象与基于对象 在传统面向对象的语言中,有两个非常重要的概念 - 类和实例. 类定义了一类事物公共的行为和方法:而实例则是类的一个具体实现. 我们还知道,面向对象编程有三个重要的概念 - 封装.继 ...

  8. Java继承详解

    目录 前言 继承的格式: 继承的特点: 继承的优缺点 继承的注意点(重要) 继承的使用 前言 类是对对象的抽象,具有共同属性和行为的许多对象抽象出一个类. 例如:有三个学生小明,小红,小李都有姓名,年 ...

  9. JavaScript继承详解(五)

    在本章中,我们将分析John Resig关于JavaScript继承的一个实现 - Simple JavaScript Inheritance. John Resig作为jQuery的创始人而声名在外 ...

  10. JavaScript继承详解(四)

    在本章中,我们将分析Douglas Crockford关于JavaScript继承的一个实现 - Classical Inheritance in JavaScript. Crockford是Java ...

随机推荐

  1. .Net 7内容汇总(2)--原始字符串

    在C# 11里,添加了一个叫原始字符串的东西. 这个东西算是我相当喜欢以及期待的功能. 我们先来看看这玩意咋用. 首先,我们先来看看之前如果我们需要定义一个带引号的字符串我们需要怎么做. var a ...

  2. VUE:引入腾讯地图并实现轨迹动画

    腾讯位置服务JavaScript API 效果: 引入步骤: 在 html 中通过引入 script 标签加载API服务 在一个盒子元素 div 中预先准备地图容器,并在CSS样式中定义地图(容器)显 ...

  3. Confluence预览中文附件出现乱码

    转载自:https://blog.51cto.com/u_13776519/5329428 背景介绍: 1.使用docker方式安装运行的Confluence 2.进行了破解,使用外置数据库 3.do ...

  4. ECON 模式

    ECON模式通过调节发动机和空调系统的性能,有效提高燃油经济性. 在D行驶档的时候开启

  5. 【前端必会】webpack loader 到底是什么

    概述 webpack的使用中我们会遇到各种各样的插件.loader. webpack的功力主要体现在能理解各个插件.loader的数量上.理解的越多功力越深 loader是什么呢? 背景 了解load ...

  6. css三角形文本框

    <style type="text/css"> .triangle{/* 三角形图片位置 */ background-image: url(img/traintop.p ...

  7. 关于AWS基于AMI还原实例后不能通过口令密码ssh登录的解决方法

    最近笔者在工作中,通过备份的AMI,还原创建实例后,发现不能使用密码口令登录,登录时会报如下错误: [root@localhost ~]# ssh qq_5201351@13.250.125.37 W ...

  8. [题解] Codeforces Dytechlab Cup 2022 1737 A B C D E 题解

    傻*Dytechlab还我rating!(不过目前rating还没加上去,据说E是偷的说不定要unrated) 实在没预料到会打成这样... 求点赞 点我看题 A. Ela Sorting Books ...

  9. BGCN Rec:模型结构概述

    简单论述 BGCN将user-item interaction,user-bundle interaction和bundle-item affiliation 关联到统一的异构图中.以项目节点为桥梁, ...

  10. DDD-领域驱动(三)-聚合与聚合根

    概念 高内聚 , 高内聚合Aggregate 就好比一个功能,各个模块互相是有依赖关系存在,例如: 低耦合:模块可以任意替换,不会影响系统的工作 例如:比如你今天穿了这套衣服,明天穿了另一套衣服,但你 ...