20165218 2017-2018-1 《Java程序设计》第四周学习总结

教材学习内容总结

第五章 子类与继承

子类与父类

  • 通过关键字extands定义子类
class 子类 extands 父类{

}
  • 子类只能有一个父类,父类可以有多个子类
  • 子类继承父类的成员变量和方法
  • 子类和父类在同一包中:可以继承父类中不是private的成员变量和方法
  • 子类和父类不在同一包中:继承父类中protectedpublic的成员变量方法
  • 调用另一个类的protected变量和方法时,无论该变量或方法是否是继承的,当前类需要和该方法或变量所在的类在同一个包

子类与对象

用子类的的构造方法创建对象时,子类中声明的和父类中的成员变量都分配了内存空间,但是其中一部分对象无法调用


instanceof 运算符

boolean a = 对象 instanceof 类

若对象是该类或其子类创建的对象,a=true;反之为false


方法重写

如果子类可以继承父类的某个方法,那么子类就有权利重写这个方法。

重写时,方法名字、参数个数、参数类型,子类和父类的方法必须完全相同。

不允许降低方法的访问权限,但可以提高,从高到低依次是:

public > protected > 友好的 > private


final 关键字

修饰 含义
final类不能被继承,不能有子类
方法 final方法不能被子类重写
变量 常量,运行期间不许被更改

抽象类和抽象方法,关键字abstract

  • 抽象方法只能声明,不能实现
  • abstract类中可以有抽象和非抽象方法,普通方法中不能有抽象方法
  • 不能用static修饰abstract方法
  • 一个非abstract子类若是abstract类的子类,那么他必须重写父类的abstract方法

第六 接口与实现

关键字interface定义接口

  • 接口定义=接口声明+接口体
  • 接口体=常量的声明+抽象方法
  • 接口内所有常量的访问权限都是public,且都是static常量(关键字public,static,final可省略
  • public接口可被任何一个类实现,不加修饰词的接口默认为友好接口,被同一个包中的类实现


实现接口

  • 类实现接口
class A implements Pringtable,Addable

用关键字implements跟在类声明后实现接口调用,如有多个接口,用,隔开

  • 重写接口中的方法
重写时需注意:
  1. 去掉abstract修饰符
  2. 给出方法体
  3. 访问权限写出public

代码调试中的问题和解决过程

  • 问题1:按照课本P156页输入代码后,会出现如下问题

  • 问题1解决方案:暂时没找到解决方案

代码托管

上周考试错题总结

15和250的二进制分别是00001111和11111010,按位与是00001010,十进制为10(答案有误)



  • short将byte类型的x强制转化为short类型,但y的精度更高,所以返回类型为double。错误原因,认为(short)影响了整个变量。



  • 初始值i=1,进入case(1),输出c=J,因为没有break,所以继续执行case(2),然后跳出本次循环,执行i++,i=2,执行case(2);i=3,case(3)后继续执行执行default;i=4,执行default,所以答案是Jeep好好



  • byte占8bit;整型变量都不是无符号的;错误原因:没看到是多选题……



  • 二者相等,所以输出结果是true,答案是false



  • ctrl+C退出运行,也是结束阻塞



  • 不可以使用双引号;不可以将多个字符赋给char型变量;\u前缀表示时,必须为十六进制

参考资料

20165218 2017-2018-1 《Java程序设计》第四周学习总结的更多相关文章

  1. Java程序设计第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...

  2. 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...

  3. 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...

  4. 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结

    <面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...

  5. 20155318 2016-2017-2 《Java程序设计》第九学习总结

    20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...

  6. 《Java程序设计》第二学习总结

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

  7. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  8. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  9. 20145120黄玄曦 《java程序设计》 寒假学习总结

    1和2.我对未来规划不多,我认为好好学习积累知识能帮助我应对未来的挑战,这是我的学习动力之一,此外,了解新知识满足好奇心也是我的主要的学习动力. 3.我认为专业课学习比公务员考试重要,我认为专业知识是 ...

  10. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

随机推荐

  1. Qt-QPalette-调色板学习

    已经很久没有更新博客了,一是因为换了公司,完全是断网开发了,没有时间来写博客,最主要的就是温水煮青蛙,自己在舒适的环境中越来越懒了,最近打算强制自己更新一波.不知道能坚持多久.由于目前没有具体的Qt项 ...

  2. 聊聊Bug引发事故该不该追求责任

    最近读极客时间朱赟的一篇文章有感,在这也聊一下,在互联网的公司大多数以迭代的方式上线需求,节奏一般都比较快,经常会一个需求当天来了第二天就上线,开发和测试时间总共就两天,中间还穿插着别的需求测试,不像 ...

  3. Android 简介

    一 Android起源 android: 机器人 android是google公司开发的基于Linux2.6的免费开源操作系统 2005 Google收购 Android Inc. 开始 Dalvik ...

  4. [SHELL]输出目录下所有的可执行文件,批量创建用户

    #!/bin/bash IFS=: for folder in $PATH #PATH变量分隔符为: do echo $folder echo ------------------ for file ...

  5. JAVA基础:ArrayList和LinkedList区别

    1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList ...

  6. Click Once使用总结

    做了一个CS结构软件,有十几个用户使用的客户端,因为刚开始试用期间,要不断根据用户使用情况修正问题和添加新功能,所以频繁更新是不可避免的,暂时没有深入去研究软件更新,暂时采取的方式是用户通过FTP自行 ...

  7. Python3 小工具-UDP发现

    from scapy.all import * import optparse import threading import os def scan(ip): pkt=IP(dst=ip)/UDP( ...

  8. nodejs笔记--express篇(五)

    创建一个express + ejs的项目 express -e testEjsWebApp cd testEjsWebApp npm install http://localhost:3000 Usa ...

  9. nodejs笔记--mysql篇(四)

    测试连接 var mysql = require('mysql'); //调用MySQL模块 //创建一个connection var connection = mysql.createConnect ...

  10. canvas学习(三):文字渲染

    一.绘制基本的文字: var canvas = document.getElementById("myCanvas") var ctx = canvas.getContext('2 ...