1.代码块

(1)在java中,使用 { } 括起来的代码 被称为代码块

(2)分类:

A:局部代码块

【局部位置】

【作用:用于限定 变量的生命周期】

B:构造代码块

【在类中的成员位置,用{}括起来的代码。每次调用构造方法执行前,都会先执行构造代码块。】

【作用:可以把多个构造方法的共同 代码放到一起,对对象进行初始化】

C:静态代码块

【在类的成员位置,用{}括起来的代码,只不过它用static修饰了】

【作用:一般是对类进行初始化】

(3)结论:

A:执行顺序 :

【静态代码块 > 构造代码块 > 构造方法】

B:静态代码块:只执行一次

C:构造代码块:每次调用构造方法都会执行

2.继承

(1)把多个类中相同的成员给提取出来 定义到一个独立的类中,然后让多个类和该独立类产生一个关系。

     这种关系,就叫做继承。

(2)Java中表示继承

A:用关键字  extends 表示

B:格式

(3)继承的好处:

A:提高了代码的复用性

B:提高了代码的维护性

C:让类与类产生了一个关系,是多态的前提

(4)继承的弊端:

A:让 类的耦合性增强。这个类的改变,会影响其他和该类相关的类

【原则:低耦合,高内聚 】

【耦合:类与类的关系】

【内聚:自己完成某件事情的能力】

B:打破了封闭性

(5)Java中继承的特点:

A:Java中类只支持单继承

B:Java中可以多层继承

(6)继承的注意事项

A:子类不能继承父类的私有成员

B:子类不能继承父类的构造方法,但可以通过 super 去访问

C:不要为了部分功能而去继承

(7)什么时候使用继承

A:继承体现 的是:is  a  的关系(苹果 is a 水果)

B:采用假设法

(8)Java继承中的成员关系

A:成员变量

【子类的成员变量名称 和 父类的成员变量名称 不一样】

【子类的成员变量名称 和 父类的成员变量名称 一样】

【子类中 调用父类中 指定成员变量 】

B:构造方法

【子类的构造方法默认会去访问父类的无参构造方法】

【子类中如果没有无参构造方法】

方法一:在父类中加一个带参数的构造方法

方法二:通过super关键字去显示的调用父类的带参数构造方法 

方式三:子类通过this去调用本类的其他构造方法

【子类中一定要有一个去访问父类的构造方法,否则父类数据就没有初始化】

【注】this(…) 和 super(…) 必须放在第一条语句,否则会对父类进行多次初始化

C:成员方法

【子类的成员方法名称 和 父类的成员方法名称 不一样】

【子类的成员方法名称 和 父类的成员方法名称 一样】

(9)this与super

A:区别

【this代表本类对应的引用】

【super代表父类存储空间的标识(可以理解为父类引用,可以操作父类的成员)】

B:使用

【调用成员变量】

this.成员变量--调用本类的成员变量

super.成员变量--调用父类的成员变量

【调用构造方法】

this(…)--调用本类的构造方法

super(…)--调用父类的构造方法

【调用成员方法】

this.成员方法--调用本类的成员方法

super.成员方法--调用父类的成员方法

3.方法的重写(Override)

(1)定义:

子类中出现了和父类中方法声明一模一样的方法

(2)应用:

当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类中的方法。这样,既沿袭了父类的功能,又定义了子类特有的内容

(3)使用方式:

(4)注意事项

A:父类中私有方法不能被重写

【因为父类 私有方法,子类根本就无法继承】

B:子类重写父类方法时,访问权限不能更低

【子类权限 最好 和父类一致】

C:父类静态方法,子类也必须通过静态方法进行重写

【这个算不上重写,但是现象确实如此】

Java系列学习(八)-继承的更多相关文章

  1. JAVA第八次作业

    JAVA第八次作业 (一)学习总结 1.用思维导图对本周的学习内容进行总结 参考资料: XMind. 2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery ...

  2. Java基础八--构造函数

    Java基础八--构造函数 一.子父类中构造函数的特点 1.1 为什么在子类构造对象时,发现,访问子类构造函数时,父类也运行了呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super( ...

  3. “全栈2019”Java第八十五章:实现接口中的嵌套接口

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

  4. 关于Java中的继承和组合的一个错误使用的例子

    [TOC] 关于Java中的继承和组合的一个错误使用的例子 相信绝大多数人都比较熟悉Java中的「继承」和「组合」这两个东西,本篇文章就主要就这两个话题谈论一下.如果我某些地方写的不对,或者比较幼稚, ...

  5. java中的继承与oc中的继承的区别

    为什么要使用继承? 继承的好处: (1)抽取出了重复的代码,使代码更加灵活 (2)建立了类和类之间的联系 继承的缺点: 耦合性太强 OC中的继承 1.OC中不允许子类和父类拥有相同名称的成员变量名:( ...

  6. JAVA封装、继承

    封装 1.概念: 将类的某些信息隐藏在类的内部,不允许外部程序访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: a.只能通过规定的方法访问数据 b.隐藏类的实例细节,方便修改和实 ...

  7. <Java中的继承和组合之间的联系和区别>

    //Java中的继承和组合之间的联系和区别 //本例是继承 class Animal { private void beat() { System.out.println("心胀跳动...& ...

  8. Java中的继承

    我们在以前的学习中,我们会了C#中的继承,今天我们来了解了解Java中的继承,其实都大同小异啦! 1.语法 修饰符 SubClass extends SuperClass(){ //类定义部分 } e ...

  9. Java面向对象的继承

    继承也是面向对象的又一重要特性,继承是类于类的一种关系,通俗来说狗属于动物类,那么狗这个类就继承了动物类 java中的继承是单继承的,一个类只能继承与一个父类 子类继承父类之后,子类就拥有了父类的所有 ...

随机推荐

  1. Java基础学习总结(85)——Java中四种线程安全的单例模式实现方式

  2. [bzoj4987]Tree_树形dp

    Tree bzoj-4987 题目大意:给定一颗n个点的有边权的树,选出k个点,使得:$\sum\limits_{i=1}^{k-1}dis_idis_j$最小. 注释:$1\le n\le 3000 ...

  3. [转] MySQL "replace into" 的坑 (5.5 ROW格式)

    MySQL 对 SQL 有很多扩展,有些用起来很方便,但有一些被误用之后会有性能问题,还会有一些意料之外的副作用,比如 REPLACE INTO. 比如有这样一张表: 1 2 3 4 5 6 7 8 ...

  4. WCF 配置文件中的MaxStringContentLength & MaxReceivedMessageSize

    中午测试员在测试系统模块时发现无法通过WCF从服务器下载数据,检查配置文件后,建议开发人员修改站点的WEB.CONFIG文件,具体修改对比如下: 旧的: <binding name=" ...

  5. Java线程池几个參数的理解

     线程池几个參数的理解: 比方去火车站买票, 有10个售票窗体, 但仅仅有5个窗体对外开放. 那么对外开放的5个窗体称为核心线程数, 而最大线程数是10个窗体.假设5个窗体都被占用, 那么后来的人就必 ...

  6. ubuntu Change Language

    慎用 所謂的語系(locale),其實包含語言及地區的設定,因為除了語言之外,國家與國家的日期表示方式.數字格式.貨幣符號.度量單位可能都不一樣,所以才會有了這個locale的發明,依照國家和語言給予 ...

  7. SQL 为SQL Server服务指定的凭据无效怎么办

    如下所示,在安装SQL Server2008的时候,我随便输入了了账户名和密码,点击下一步没用   正确做法是:点击账户名右边的小三角,从下拉列表随便选一个("对所有SQL Server服务 ...

  8. HDU 5305 Friends(简单DFS)

    Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Su ...

  9. 深入理解MVC C#+HtmlAgilityPack+Dapper走一波爬虫 StackExchange.Redis 二次封装 C# WPF 用MediaElement控件实现视频循环播放 net 异步与同步

    深入理解MVC   MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性 ...

  10. poj-1635 Subway tree systems(推断两个有根树是否同构)-哈希法

    Description Some major cities have subway systems in the form of a tree, i.e. between any pair of st ...