20165230 2017-2018-2 《Java程序设计》第3周学习总结
20165230 2017-2018-2 《Java程序设计》第3周学习总结
教材学习内容总结
- 本周主要学习了类与对象。
包括创建对象与构造方法。
- 了解了程序是由若干个类所构成;类分为类名与类体;
- 类体包括变量声明与方法定义;
- 变量分为成员变量与局部变量;
- 方法由方法头和方法体构成;
- 方法体由局部变量的声明和JAVA语句构成
- 用类声明的变量称为对象。
- 创建对象需使用构造方法
- 创建对象包括对象声明与为声明的对象分配变量
- 对象可组合与复用
重要结论:一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量
- 类变量与类方法:加
static关键字修饰,可用类名调用 - 实例变量与实例方法:实例方法即可操作实例变量也可操作类变量
- 包与import语句
package打包javac 包名.主类名编译javac *.java编译全部源文件- 运行程序必须到包结构的上一层目录运行
import java.包名.*引入包中所有的类
- jar文件
- 访问权限
private私有变量与私有方法:另一个类中,对象不能访问自己的私有变量,也不能用类名调用私有方法public共有变量与共有方法protected受保护成员变量与方法- 友好变量与方法
- jar文件:
把字节码文件压缩成jar文件并存放如jre运行环境中,即可使用import语句扩展类
教材学习中的问题和解决过程
- 问题1:p93页中,友好变量与受保护成员变量都是如果在同一个类中即可访问,那么他们的区别在哪里呢?
问题1解决方案:通过在网上查询了解到
protected修饰的变量或方法:继承-当前类,同包类,不同包类。使用-当前类,同包类。
友好修饰的变量和方法只能被当前类,同包类继承或使用。
private修饰的变量和方法只能被当前类使用。不存在继承。
代码调试中的问题和解决过程
问题1:在调试example4_5时,将
lader.bottom和lader.above错误将小写的l打错成大写的L,导致编译错误

- 问题1解决方案:此处的above和bottom变量均不是静态变量,不能直接通过类名来访问
问题2:在调试example4_8时,一直显示找不到符号,不断地检查example4_8.java的文件,结果是因为在circular.java文件中漏掉了setHeight的方法定义

- 问题2解决方案:在Circular.java文件中补充setHeight的方法定义
问题3:在调试example4_10时,错误将
laderone.设置上底和ladertwo.设置下底的lader首字母大写,导致编译不通过

- 问题3解决方案:此处的laderone和ladertwo均为实例变量,不是类变量,一定要注意大小写
问题4:在编译带包文件时,
javac *.java显示错误

- 问题4解决方案:进入包目录的上一层目录中,不能用
*.java,要用javac tom/jiafei/源文件名.java
编译时或者进入到jiafei文件夹用javac *.java 问题5:在调试example4_20时,在if后加了
;,导致编译错误

问题5解决方案:去掉
;,才能与后面的else if匹配
代码托管

其他(感悟、思考等,可选)
- 在本周的学习中,任务量比上周重,学习过程中间有两天没有看视频和学习教材,再开始学的时候就忘记前面的内容了,敲代码时也减慢了速度,效率降低了不少,java的学习需要保持每天的学习时间,边学边总结,边敲代码,边理解。同时要一边学一边上传代码提交到码云上,不能学完教材再敲代码。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 13/13 | 1/1 | 19/19 | |
| 第二周 | 426/426 | 3/3 | 12/12 | |
| 第三周 | 562/562 | 4/4 | 15/15 |
参考资料
20165230 2017-2018-2 《Java程序设计》第3周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- HDU - 3001 Travelling 状压dp + 三进制 [kuangbin带你飞]专题二
终于刷完搜索专题了. 题意:给定n个城市,每个城市参观不能超过两次,两个城市之间有道路通过需要花费X,求通过能所有城市的最小花费. 思路:每个城市有三个状态0,1,2,可用三进制存储所有城市的访问状态 ...
- python如何使用pymysql模块
Python 3.x 操作MySQL的pymysql模块详解 前言pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而M ...
- Redis笔记5-redis高可用方案
一.哨兵机制 有了主从复制的实现以后,如果想对主服务器进行监控,那么在redis2.6以后提供了一个"哨兵"的机制.顾名思义,哨兵的含义就是监控redis系统的运行状态.可以启动多 ...
- http缓存(http caching)
通过使用缓存web网站和web应用的性能能够得到显著的提升.Web caches能够减小延迟和网络流量,从而缩短展示资源所花费的时间. 在http中控制缓存行为的首部字段是Cache-Control, ...
- linux dns搭建
DNS:域名解析(Domain Nmae System)正向解析:根据主机名称(域名)查找其对应的ip地址,这是最基本,最常用的功能反向解析:根据ip地址查找其对应的主机名称(域名),反垃圾邮件/安全 ...
- MySQL ODBC 3.51 Driver - Access Denied
MySQL ODBC 3.51 Driver - Access Denied 同事反馈在应用服务器上配置MySQL ODBC 3.51 Drive时,测试连接MySQL数据库时报下面错误: ERR ...
- IDirectDraw接口
创建一个主DirectDraw对象,并使用QueryInterface()方法来得到最新的IDirectDraw7接口,或是直接用DirectDrawCreateEx()函数直接创建一个DirectD ...
- 如何使用DirectDraw直接显示RGB、YUV视频数据(播放yuv)
#include "draw.h"void CTest100Dlg::OnButton1() { // TODO: Add your control notification ha ...
- hi3531芯片的标识寄存器
芯片的标识寄存器 0xee0.0xee4.0xee8.0xeec(基址是0x2005_0000) 系统控制器提供了芯片标识(ID)寄存器SC_SYSID.这个标识寄存器是一个概念上 的32bit 的标 ...
- [php]在PHP中读取和写入WORD文档的代码
测试平台windows 使用的windows的com主键. <? // 建立一个指向新COM组件的索引 $word = new COM("word.application") ...