《JAVA程序设计》_第四周学习总结
一、本周学习内容
1.子类与父类——5.1知识
- 在类的声明中用关键字extends来定义一个类的子类,格式如下:
class 子类名 extends 父类名 {
...
}
2.子类的继承性——5.2知识
- 若子类父类在一个包中,子类继承父类中不是private的变量
- 若子类、父类不在同一包中,父类中的private变量、友好变量不会被子类继承,就是说,子类只会继承public变量、protected变量
- 若子类D的祖先类与Object类在同一包中,则可继承其父类的变量
3.成员变量的隐藏和方法重写——5.4知识
- 若在子类中声明的变量与继承的变量重名,则会覆盖继承的变量,使继承变量隐藏
- 子类隐藏继承的成员变量特点如下:
- 子类用自己声明的方法操作重名变量时操作新变量
- 子类用继承方法操作重名变量是操作隐藏变量
- 若子类声明方法与继承方法相同(同名、同参数),则可重写继承方法,继承方法将被隐藏
- 子类重写的方法类型可以是继承方法的子类型
- 子类重写父类时可提高访问权限,不可降低访问权限
4.super关键字——5.5知识
- 使用super关键字可访问、调用被隐藏的成员变量和方法
- 子类不继承父类的构造方法,应使用super关键字来调用父类的构造方法,如下图:
- 当父类定义多个构造方法时,应定义一个不带参数的构造方法(如例子8)
5.final关键字——5.6知识
- final类不能被继承,不允许有子类
- final方法不允许被修改
- final变量是常量,不允许被修改
6.对象的上转型对象——5.7知识
- 用子类创建一个对象,并把它的引用赋给父类对象中,则该父类对象就成了上转型对象,例如:
Animal a;
a=new Tiger();
或
Animal a;
Tiger b=new Tiger();
a=b;
上述a就是对象b 的上转型对象
- 上转型对象具有以下特点
- 不能操作子类新增的方法、变量
- 可操作继承或隐藏的变量、继承或重写的方法
7.继承与多态——5.8知识
- 将多子类的引用赋给父类时,可形成多个上转型对象
- 每个子类通过重写父类的某个方法可产生各自的功能行为
- 当多个上转型对象调用各自的重写方法时,就体现了多态
8.abstract类与abstract方法——5.9知识
- abstract类中可以有abstract方法(也可没有)
- abstract方法不能有方法体
- abstract类不能用new运算符创建对象,必须通过子类的重写其抽象方法,给出方法体
- 使用abstract类创建对象虽然不可用new创建对象,但可将其子类的引用赋给它,作为其子类的上转型对象,改对象可调用子类重写的方法
- 理解abstract类
- 抽象类可抽象出重要的行为标准,用抽象方法表示。即抽象类封装了子类必须要有的行为标准。
- 抽象类声明的对象可以成为其子类对象的上转型对象,调用子类重写的方法,即体现了各个子类根据抽象类里的行为标准给出的具体行为。
二、脚本截图
三、学习感受
- 本周的学习内容感觉比之前难了不少,尤其是到后面面向抽象的编程那一部分有点难以理解,反复的琢磨了几遍,又跟同学讨论讨论,感觉清晰了不少,也逐渐体会到面向对象编程的特点。
- 附码云链接
《JAVA程序设计》_第四周学习总结的更多相关文章
- 20145213《Java程序设计》第四周学习总结
20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...
- 20145330《Java程序设计》第四周学习总结
20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对 ...
- 20145337《Java程序设计》第四周学习总结
20145337<Java程序设计>第四周学习总结 教材学习内容总结 继承与多态 继承 继承,避免多个类间重复定义共同行为 符合DRY(Don't Repeat Yourself)原则,多 ...
- 20145218 《Java程序设计》第四周学习总结
20145218 <Java程序设计>第四周学习总结 教材学习内容总结 继承 继承共同行为 继承基本上就是避免多个类间重复定义共同行为. 继承的三个好处:减少代码冗余:维护变得简单:扩展变 ...
- 《Java程序设计》第四周学习总结
20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...
- 20155304 2016-2017-2 《Java程序设计》第四周学习总结
20155304 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承: 概念: 面向对象中,为避免多个类间重复定义共同行为.(简单说就是将相同的程序 ...
- 201521123038 《Java程序设计》 第四周学习总结
201521123038 <Java程序设计> 第四周学习总结 1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.通过 ins ...
- 201521123061 《Java程序设计》第四周学习总结
201521123061 <Java程序设计>第四周学习总结 1. 本章学习总结 (1)思维导图: --- (2)上课内容总结: 第四周学习了Java中的继承与多态,思维导图中已经给出了本 ...
- 20175209 《Java程序设计》第四周学习总结
20175209 2018-2019-2 <Java程序设计>第四周学习总结 教材知识点总结 1.子类和父类: 子类的继承性:子类与父类在同一包中——子类继承父类中不是private的变量 ...
- 20175204 张湲祯 2018-2019-2《Java程序设计》第四周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第四周学习总结 教材学习内容总结 -第五章子类与继承要点: -子类与父类: 1.通过使用关键字extends来定义一个类 ...
随机推荐
- Python:正则表达式 re 模块
正则是处理字符串最常用的方法,我们编码中到处可见正则的身影. 正则大同小异,python 中的正则跟其他语言相比略有差异: 1.替换字符串时,替换的字符串可以是一个函数 2.split 函数可以指定分 ...
- leetcode — partition-list
/** * Source : https://oj.leetcode.com/problems/partition-list/ * * * Given a linked list and a valu ...
- C#线程安全使用(一)
关于Task的使用,一直都是半知半解,最近终于有时间详细的看了一遍MSDN,作为备忘录,将心得也记录下来和大家分享. 首先,根据MSDN的描述,Task是FrameWork4引进的新功能,他和ConC ...
- linux 防火墙详细介绍
1.其实匹配扩展中,还有需要加-m引用模块的显示扩展,默认是隐含扩展,不要使用 -m状态检测的包过滤-m state --state {NEW,ESTATBLISHED,INVALID,R ...
- JDBC驱动程序注册 JDBC简介(二)
使用JDBC进行数据库操作的第一步就是驱动注册(当然你得先导入JAR). 驱动注册有多种方式,第一步必然是获得正确的驱动名称与URL格式 驱动名称与URL格式 RDBMS 驱动程序名称 ...
- 【CSS】按钮的禁用与可用 CSS Cursor 属性
禁用时的样式 可用时的样式 样式很简单,禁用就设置为灰色,可用就设置为红色,今天这个不是重点,重点的是,光标的样子 一般,禁用时候,光标移动到按钮的上方,光标如下 而在启用按钮的时候,光标移动到按钮上 ...
- Python3+Selenium2完整的自动化测试实现之旅(三):Selenium-webdriver提供的元素定位方法
本篇以实例介绍selenium下的webdriver模块提供的定位页面元素(也可以称为对象)的方法和使用技巧,在此注意:在做WEB自动化测试前,需要对前端相关的技术有所了解,如HTML.XML.Xpa ...
- [java]final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下final ...
- 使用VBA批量CSV转XLS(97-2003)
Sub EditCsvToXls() Application.ScreenUpdating = False '文件目录 ChDir "C:\Users\QA-Department\Deskt ...
- 【转】三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别
关于inflate参数问题,我想很多人多多少少都了解一点,网上也有很多关于这方面介绍的文章,但是枯燥的理论或者翻译让很多小伙伴看完之后还是一脸懵逼,so,我今天想通过三个案例来让小伙伴彻底的搞清楚这个 ...