2016-2017-2015329 《Java程序设计》第4周学习总结
学号 2016-2017-2015329 《Java程序设计》第4周学习总结
教材学习内容总结
面向对象有三大特性:封装、继承、多态
封装
- 封装是指,一种将抽象性函式接口的实例细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制,通过该类提供的方法来实现对隐藏信息的操作和访问。
访问修饰符可以用来修饰属性和方法的访问范围。
- 继承
- 继承可以看成是类与类之间的衍生关系
- 继承需要符合的关系是:is-a,父类更通用,子类更具体。
- 意义:假使有两个类相似,那么它们会有许多重复的代码,导致后果就是代码量大且臃肿,后期的维护性不高。通过继承就可以解决这个问题,将两段代码中相同的部分提取出来组成一个父类,实现代码的复用。
- final关键字可以修饰类、方法、属性和变量
final 修饰类,则该类不允许被继承,为最终类
final 修饰方法,则该方法不允许被覆盖(重写)
final 修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值(但只能选其一)
final 修饰变量,则该变量的值只能赋一次值,即变为常量
super关键字在子类内部使用,代表父类对象。
访问父类的属性 super.属性名
访问父类的方法 super.bark()
子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super()
多态
- 只通过父类就能够引用不同的子类,这就是多态,我们只有在运行的时候才会知道引用变量所指向的具体实例对象。
- Java 实现多态有三个必要条件:继承、重写和向上转型(即父类引用指向子类对象)。
- Java中多态的实现方式:继承父类进行方法重写,抽象类和抽象方法,接口实现。
教材学习中的问题和解决过程
- for(String arg:args)什么意思?
- 经过百度之后知道是:增强后的for循环(j2SE 5.0的新特性)
主要作用简化了之前的for循环: - a+=c无法运行 a +=c等价a=a+c
- %n 和 /n都是转行。
- \n是回车符,只不过这个是转义字符,可以用于一切字符串;
而%n是一种格式字符串,只能用到printf的参数里。 代码调试中的问题和解决过程
- 编译java程序时出现需要为class,interface?
- 1、检查关键字的大小写和拼写。比如public有没有写成Public,class有没有写成Class等。
2、检查花括号有没有对称。
代码托管http://git.oschina.net/bestiisjava2017/hpl20155329-java-programmer/tree/master/src?dir=1&filepath=src&oid=3b7e71d0df91ef703806418355ffc6624dbfb12f&sha=7b6beec41463bb4a70bcdd3e427b893235da616e
- 代码量截图:
上周考试错题总结
- Linux Bash中,(grep )命令可以进行全文搜索。
- :被声明为(static)的成员,不属于某个对象,而是属于类。
- 调用p45 sum函数计算1+2+3+4+5的代码是(MathTool.sum(1,2,3,4,5))
p104 CopyArray.java 中修改int [] scores2 = Arrays.copyOf(scores1, scores1.length,使得输出的第二行只有前五个元素,修改后的代码为(int [] scores2 = Arrays.copyOf(scores1, scores1.length/2) 或int [] scores2 = Arrays.copyOf(scores1, 5) )
感悟
随着代码量抄写的量逐渐增大,感觉距离自己能独立写出代码已经很近了。已经在抄写代码的同时理解代码含义并且去做一些改变,比如增加一个输出,本来原代码是do while 的 改一改用用while for switch等等。小改变成功了,但是在自己独立编写代码时,总是编译多次通不过,一遍又一遍的修改才能完成,逻辑错误,语法错误,一个接着一个,犯了又犯,虽然感觉自己在进步,但是和同学的差距还是很大。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3000行 | 30篇 | 400小时 | |
第四周 | 416/1300 | 2/9 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:14小时
实际学习时间:21小时
改进情况:14+14/4<21 有待提高自学能力
参考资料
2016-2017-2015329 《Java程序设计》第4周学习总结的更多相关文章
- 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- Python中readline()函数 去除换行符
从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...
- U-Mail:邮件营销如何大量获取并筛选有效地址
工欲善其事必先利其器,在所有的邮件推广中,最基础的工作就是收集到足够多的有效邮箱地址,俗话说韩信将兵多多益善,邮箱地址越多,也就意味着潜在的转化为消费者的数量众多,但是如果大量滥竽充数的地址被搜罗进来 ...
- jquery实现的时间轴
代码 样式文件style.css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...
- 8、Spring Cloud-配置中心 Spring Cloud Config(待补充)
8.1.Config Server 本地读取配置文件 Config Server 可以从本地仓库读取配置文件,也可以从远处 Git 仓库读取. 本地仓库是指将所有的配置文件统 写在 Config ...
- Linux 问题处理集锦
安装nginx,编译过程中遇到的问题 wget command not found yum -y install wget c compiler cc is not found yum -y inst ...
- 利用n 升级工具升级Node.js版本及在mac环境下的坑
一.利用n 升级Node.js 最近在用NPM安装一个nodejs工具时发现,我的nodejs的版本有些旧了.这不是大问题,只要升级就可以了,当然,重新从nodejs.org最新版本是一种方法,但我想 ...
- 阅读Deep Packet Inspection based Application-Aware Traffic Control for Software Defined Networks
Deep Packet Inspection based Application-Aware Traffic Control for Software Defined Networks Globlec ...
- MySQL8.0.12版本的数据库驱动
jdbcDriver=com.mysql.cj.jdbc.DriverjdbcUrl=jdbc:mysql://127.0.0.1:3306/jtsys?useUnicode=true&cha ...
- T-SQL查询:WITH AS 递归计算某部门的所有上级机构或下级机构
drop table #Area; CREATE TABLE #Area ( id INT NOT NULL, city_name NVARCHAR(100) NOT NULL, parent_id ...
- 腾讯云的对象存储COS
什么是对象存储COS Clound Object Storage,COS,专门为企业和开发者们提供能够存储海量的分布式存储服务,用户可以随时通过互联网对大量数据进行批量存储和处理,在任意位置存储和检索 ...