201671010116. 2016-2017-5《Java程序设计》认识继承

本周在老师的讲解下我可以找到自己之前自学遗漏的细节以及易混淆的概念,自学后再经老师讲解,很多问题就迎刃而解了。比如在老师讲解后我对继承又有了更多认识:

1.父类:

1)Java中一个类可以有多个子类,但一个类只能有一个父类,父类也可以有父类,即支持所谓的单继承和多层继承,但不能多继承。

2)Java里的所有类都拥有Object类的方法和属性。由于方法和属性被子类继承,很多方法被子类重写,常用的有:

toSrting:该方法返回对象的字符串表示,通过在子类重写后显示出类的相关信息;

equals:通过在子类中重写后比较两个对象是否相等;

hashcode:返回对象的散列码,散列码没有规律。

2.子类:

1)内存形式:内存叠加

2)在继承时,子类可以继承父类的所有属性和方法,但是不能继承父类的构造方法,即父类的构造方法不能重写。

3)super(当前对象的父类):

  • 放在构造方法的第一行
  • 调用构造器时,格式为super(),调用父类中制定的构造器
  • 调用普通方法和属性时,格式为super,同时只能为父类的属性和方法。
  • 当子类在重写父类的方法,如果要调用父类的该方法,就必须用super关键字

4)this(当前对象):

  • 放在构造方法的第一行
  • 调用构造器时,格式为this(),调用本类中一个本类的构造器
  • 调用普通方法和属性时,格式为this父类/子类的属性/方法
  • 当子类在重写父类的方法,如果使用this关键字,则调用的是本类的该方法

3.final:

1)变量:表明该变量不能被修改,即常量。

2)类:表明该类不能被继承,是最终类,即该类不能有子类。同时,如果是声明为最终类一般都是在class关键字前加上final

3)方法:表明该方法不能被重写,如果将该方法声明为最终方法,一般都将final放在访问修饰符后面,返回值之前。

4.对象初始化:

1)在对象初始化阶段,属性和方法均针对子类可以从父类继承过来的属性和方法而言,一般而言,都是针对父类中非private而言的。因为private修饰的为父类所特有的,子类没有继承过来,当new子类时,无须为其分配空间并执行初始化。当然了,父类的构造器子类也是不继承过来的,但构造器另当别论。

2)类的初始化只执行一次,当对同一个类new多个对象时,类属性和类初始化块只初始化一次。

5.继承中的隐藏:

Java类具有三种访问控制符:private、protected和public,同时当不写这三个访问控制符时,表现为一种默认的访问控制状态。因此,一共具有四种访问控制级别。具体访问控制表现如下:

1)private修饰的属性或方法为该类所特有,在任何其他类中都不能直接访问;

2)default修饰的属性或方法具有包访问特性,同一个包中的其他类可以访问;

3)protected修饰的属性或方法在同一个中的其他类可以访问,同时对于不在同一个包中的子类中也可以访问;

4)public修饰的属性或方法外部类中都可以直接访问。

当子类继承父类,子类可以继承父类中具有访问控制权限的属性和方法(一般来说是非private修饰的),对于private修饰的父类所特有的属性和方法,子类是不继承过来的。

当子类需要改变继承过来的方法时,也就是常说的重写父类的方法。一旦重写后,父类的此方法对子类来说表现为隐藏。以后子类的对象调用此方法时,都是调用子类重写后

的方法,但子类对象中想调用父类原来的此方法时,可以通过如下两种方式:

1)将子类对象类型强制转化为父类类型,进行调用;

2)通过super调用。

同样的,如果在子类中定义父类中相同名称的属性时,父类属性在子类中表现为隐藏。

时间: 2024-10-13 02:36:38

201671010116. 2016-2017-5《Java程序设计》认识继承的相关文章

201671010110 2016 2017《java程序设计》

经过一学期的时间,完成了对java的学习,对java的基本知识都有一定的了解.在刚开学的时候看到700多页的课本确实内心非常崩溃.在第一次的实验中,做了不是要求做的题目是相当难了,更加了令我挫败.后来老师采用反转课堂的教学方法,开始非常不适应,因为从来没有这样的经历,在课下提前预习对于一章几十上百页的课本很恐慌.在前几个章节中,发现java和c语言有很多的共同点,加上ppt的解释理解的比较清楚.后面的也就是java的核心部分,老师开始给我们详细讲解,也学到了很多知识.java作为一个实用的编程学

201671010127 2016—2017—2 Java学习周结

时间真是个最公平东西,只要能够好好地利用它,它可以为我们带来我们我们所想要的东西.学习Java已经有一周了,对于Java基础知识的认识也更进一步,对Java的兴趣也愈来愈浓.实现一个Java程序,主要有三个步骤:第一步是编写Java源代码,第二步是编译源代码,第三步是运行Java程序.Java源代码必须要经过编译之后才能由JVM(Java虚拟机)解析执行.Java源代码文件其实就是一个后缀名为.java的普通文本文件,可以用记事本或者在(集成开发环境)里面编写. 对于一个Java源程序,其分析如

201671010127 2016—2017—2 Java怎样解决Java程序中中文乱码的问题。

这是本次第二次分享新手在编程中遇到的问题,相信很多Java新手和我一样,在Java编程中会遇到中文乱码的情况,下面我就给大家分享我遇到问题和解决问题的具体过程. 我先用Notepad++写了一个如下的程序: 在第一次编译运行中出现如下的结果: 通过查阅资料,原来是由于编码格式不一致引起的,汉字的编码应该用国标编码GBK,解决此问题可以用以下方法: 1.在集成环境下,可以选择编码格式为UTF-8格式. 2.在dos里面编译时,可以将编码格式加上去 javac -encoding gbk Text.

201671010112 2016~2017-2《java程序设计》

周次 (阅读/编写)代码行数 发布博客里/博客评论数里 课堂/课余学习时间(小时) 最满意的编程任务 第1周          18/40            1/0              6/8         无 第2周            200/190              1/0                6/12         实验二 第3周         第4周         第5周         第6周         第7周         第8周  

201671010126 2016-2017-2《JAVA程序设计》学习心得

通过这两周对JAVA程序设计的学习,我对这门课程有了新的认识,每门学科都有其精髓,想要对JAVA有更深的了解,对于初学者的我来说还需付出很多努力. 两周以来尽管伴随着许多疑惑,还是完成了对前三章的学习,通过这短短半个月的时间,发现JAVA的基础知识太过繁多,知识点相对较为零碎,许多东西理解起来有一定难度.所幸JAVA程序设计与上学期所学的C语言有着许多的相似之处,所以就可以借鉴对C语言的学习经验来学习JAVA,尽管能学好C语言不意味着就能学好JAVA,不过相信以前C语言的学习对JAVA这门新课程

201671010116. 2016-2017-4《Java程序设计》认识对象与类及继承

1.  类和对象是面向对象编程思想中的核心和基础.类是作为对象的抽象而存在的,所有的对象都依据相应的类来产生,在面向对象的术语中,这个产生对象的过程称为"实例化".类就是对一类事物或者一类对象的一个归类或者说划分.我们甚至可以说,"类"只是一个形容词,而'对象'就是这个形容词所形容的其中一个"实体对象".当然也有例外,比如我们都知道Java里面有一个关键字 'static',大家都知道被static所修饰的变量或者方法,在使用的时候是不需要实例化

2017秋季面向对象程序设计(Java)教材、教学纲要、考核要求

教材简况 凯 S.霍斯特曼 (Cay S. Horstmann)(作者), 周立新(译者), Java核心技术(卷1):基础知识(原书第10版) , 2016年9月1出版 本书包括两卷,选做教材的是卷Ⅰ. 图书封面 Java领域最有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与<Java编程思想>齐名,10余年全球畅销不衰,广受好评.这本书最大的优点是更新比较及时,第10版根据JavaSE8全方面更新,同时修正了第9版中的不足,系统全面地讲

20145225《Java程序设计》 2015—2016年学期课程总结

20145225<Java程序设计> 2015—2016年学期课程总结 读书笔记链接汇总 1.2016年2月25日 <Java程序设计>课程准备之问卷调查 摘要: 一.你对自己的未来有什么规划?做了哪些准备? 答:未来就是找个好工作,在保证自己与父母生活条件良好的基础上,进一步的提高精神上的需求...... 2.2016年3月6日 <Java程序设计>第1周学习总结——小试牛刀 摘要: 教材学习内容总结 1.java语言概述:一门高级编程语言. 2.java语言的三种技

HeyWeGo小组《Java程序设计》 2015—2016年学期团队项目总结

HeyWeGo小组<Java程序设计> 2015—2016年学期团队项目总结 题目简介 一个简单的扫雷小游戏,在12*12的方格盘上,首先可以设定雷的个数,然后点击开始程序就会随机布雷,开始游戏后如果点到雷就会显示游戏结束,如果没有,会出现数字表示周围一圈雷的个数,以此推理当扫出所有雷将显示游戏胜利. 游戏项目规划: 确定游戏中方块格子的个数 确定游戏中地雷的个数(初始10个),完成布雷 计算每个方块周围的雷数,在方块周围本身没有地雷的情况下,统计周围地雷的个数 若周围没有地雷则翻开周围的空白

《JAVA程序设计与实例》记录与归纳--继承与多态

继承与多态 概念贴士: 1. 继承,即是在已经存在的类的基础上再进行扩展,从而产生新的类.已经存在的类成为父类.超类和基类,而新产生的类成为子类或派生类. 2. Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类. 3. 继承分为单继承和多重继承.单继承是指一个子类最多只能有一个父类.多继承是一个子类可以有两个以上的父类.Java语言中的类只支持单继承,多继承是通过接口(interface)来间接实现的. 4