# 20145118 《Java程序设计》第4周学习总结 ## 教材学习内容总结
20145118 《Java程序设计》第4周学习总结
教材学习内容总结
本周内容为教材第六、七两张内容。
重点概念:
1.面向对象中,子类继承父类,避免重复的行为定义,是一种简化操作。
2.要在头脑中形成“程序中重复即不好”的概念,能简则简。
package.cc.openhome;
public class Role {
private String name;
private int level;
private int blood;
public int getBlood() {
return blood;
}
public void setBlood(int blood) {
this.blood = blood;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
上图即是定义一个继承中的"父类".
3.子类与父类之间会有一种"is-a"的关系.这是一种单向的关系! 如:
Role rolel = new SwordsMan();
与
SwordsMan swordsMan = nes Role();
是不一样的,前者能通过编译,而后者"顺序相反"了!
4.在JAVA中,子类只能继承一个父类!!
5.JAVA中有3个权限关键字:public protected private.如果没有出现以上权限词,则默认为包范围.权限大小依次为 private 无关键字 protected public.
6.注意一个小细节:JAVA中有一个内建的标注事@Override,在子类中某个方法前标注它时,表示要求编译程序检查,如果输入错误会有提示. 如:
public class SwordMan extends Role {
...
@Override
public void Fight() {
System.out.println("挥剑");
}
}
7.如果某方法区块中没有任何代码,可以使用abstract表示该方法为抽象方法,不用撰写{}区块,直接:结束即可.如:
package cc.openhome
public abstract class Role {
...
public abstract void fight();
)
注意,标记为abstract的类不能用来生成实例!!
8.java中所有对象都是一种java.lang.Object.
9.对于定义行为,在JAVA中可以用interface来定义,这是符合我们逻辑习惯的一种方法.
package cc.openhome;
public interface Swimmer {
public abstract void swim();
}
上例只定义了接口,接口可以用于定义行为但不定义操作!!!所以要想拥有接口定义的行为,就必须操作接口.
package cc.openhome;
public abstract class Fish implements Swimmer {
protected String name;
public Fish(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public abstract void swim();
}
10类要操作接口,必须使用implements关键字!
11.在Java中,类可以操作两个以上的类,即拥有两种以上的行为.可以把接口当作一种"种类".
12.接口中的方法没有操作时,一定是公开且抽象,此处public abstract可以省略.
13.枚举常数案例
package cc.openhome;
import static java.lang.System.out;
public class Game {
public static void main(String[] args) {
play(Action.RIGHT);
play(Action.UP);
}
public static void play(int action) {
switch (action) {
case Action.STOP:
out.println("播放停止动画");
break;
case Action.RIGHT:
out.println("播放向右动画");
break;
default:
out.println("不支持此动作“);
}
}
}
教材学习中的问题和解决过程
上面用play()接口定义枚举常熟的方法有些繁琐,可用enum语法来代替。
package cc.openhome;
public enum Action {
STOP, RIGHT
}
enum继承自java.lang.Enum,注意Enum类不能随便用。
”父子关系“不只存在于类中,还存在于接口中,类可以同时继承某个类,接口可以继承自另一个接口,这段话看着很拗口,但联系书中的案例来看就很清晰了~类相当于海洋动物园中的不同动物,接口相当于动物中存在的某种共性。
代码调试中的问题和解决过程
本周没有自己再写代码,只是研究借鉴书上的代码,所以暂时没有碰到调试问题。
本周代码托管截图
其他(感悟、思考等,可选)
本周的任务量还是两章,说实话觉得自己掌握的并不够好。。可能因为现在的概念和之前接触到的没有什么大的联系,完全是新的知识,所以接受起来需要一定的时间来慢慢消化。特别是第七章中的概念,看文字部分时有些费力,但联系书上的例子就好接受一些了。默默地给自己加个油吧。。。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 20篇 | 200小时 | |
第一周 | 100/100 | 1/1 | 14/20 | |
第二周 | 100/100 | 1/1 | 7/10 | |
第三周 | 120/100 | 1/1 | 9/10 | |
第四周 | 200/200 | 1/1 | 7/10 |
参考资料
l Java学习笔记(第8版)
l 《Java学习笔记(第8版)》学习指导
...
# 20145118 《Java程序设计》第4周学习总结 ## 教材学习内容总结的更多相关文章
- 201521123072《java程序设计》第九周总结
201521123072<java程序设计>第九周总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 常用异常 题目5-1 1.1 截 ...
- 20145118 《Java程序设计》第5周学习总结 教材学习内容总结
20145118 <Java程序设计>第5周学习总结 教材学习内容总结 1.Java中所有错误都会被打包成对象,可以通过try.catch语法对错误对象作处理,先执行try,如果出错则跳出 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 20145206邹京儒《Java程序设计》第一周学习总结
20145206 <Java程序设计>第1周学习总结 教材学习内容总结 1.三大平台:Java SE.Java EE与Java ME.Java SE是各应用平台的基础,分为四个主要的部分: ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
随机推荐
- 【mysql】mysql front 提示Access violation at address 010C9CD0 in module ‘mysql-front.exe’
1 错误描述: 利用mysql-front 工具新建数据库.提示了一下错误 2 解决办法: 内存越界问题,最好重新注册下Windows的动态链接库 首先“开始”—“cmd” 在打开的dos窗口中运行
- 通过身份证分析出生年月日、性别、年龄的SQL语句
),) ) ),)<>'X' ) ) )<>'X' ),)),)),)) ),)),)),)) ) as int)) where [出生日期]<>'' #字符串格式 ...
- redis基础----->redis的基本使用(一)
这里我们就在虚拟机中安装redis,并且使用java和python实现简单的操作.深情是我承担不起的重担,情话只是偶尔兑现的谎言. redis的使用 下载地址:https://redis.io/.安装 ...
- 简单的网络爬虫程序(Web Crawlers)
程序比较简单,但是能体现基本原理. package com.wxisme.webcrawlers; import java.io.*; import java.net.*; /** * Web Cra ...
- 【BZOJ1054】[HAOI2008]移动玩具 BFS
[BZOJ1054][HAOI2008]移动玩具 Description 在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动 时只能将玩具向上下左右四个 ...
- 170616、解决 java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList
报错截图: 原因:搭建项目的时候,springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖. 解决步骤: 1.添加jackson依赖到pom.xml <!-- j ...
- 无线路由器wan口和lan口ip同网段导致无法上网解决办法
环境 本地网段为192.168.0.0/24 路由器默认网段也是192.168.0.0/24 设置好路由器wan口DHCP自动获取ip以后无法上网 解决办法 把路由器是lan口地址设置为192.168 ...
- ZOJ 3210 A Stack or A Queue?
A Stack or A Queue? Time Limit: 1 Second Memory Limit: 32768 KB Do you know stack and queue? Th ...
- 【转】B2C电子商务系统设计精选
B2C电子商务系统研发——促销引擎设计(一)(Promotion Engine) B2C电子商务系统研发——商品SKU分析和设计(一) B2C电子商务系统研发——商品SKU分析和设计(二) 电商后台系 ...
- 使用 Sonar 进行代码质量管理
参考资料: 使用 Sonar 进行代码质量管理 SonarQube的安装.配置与使用 SonarLint(Sonar) 代码质量管理