20175202 《Java程序设计》第三周学习总结
20175209 2018-2019-2 《Java程序设计》第三周学习总结
教材知识点总结
1.编程语言发展阶段:
面向机器语言——面向过程语言——面向对象语言。
2.类声明:
类名必须时合法的Java标识符,两个大括号及其之间的内容是类体。
如果类名使用拉丁字母,那么名字的首字母使用大写字母。
类名要容易识别、见名知意。
3.类体:
类的目的是抽象出一类事物共有的属性和行为,并用一定的语法格式来描述所抽象出的属性和行为。类声明之后一对大括号以及之间的内容称作类体。
类体内容的组成:
- 变量的声明:用来存储属性的值(体现对象的属性)。
- 方法的定义:方法可以对类中声明的变量进行操作,即给出算法(体现对象所具有的行为)。
4.成员变量:
成员变量在整个类内都有效,其有效性与它在类体中书写的先后位置无关。方法内的局部变量从声明它的位置之后开始有效。
成员变量有默认值,局部变量没有默认值;对成员变量的操作只能在方法中;如果局部变量与成员变量的名字相同,方法会隐藏成员变量。
5.构造方法与对象的创建:
构造方法的名字必须与它所在类的名字完全相同,而且没有类型。
在一个类中允许编写若干个构造方法,但必须保证它们的参数不同,参数不同是指,参数的个数不同,或参数个数相同,但参数列表中对应的某个参数的类型不同。
用类声明的变量被称为对象,对象一般声明格式为:类的名字 对象名字。
需使用new运算符和类的构造方法为声明的对象分配变量,即创建对象。
6.类与程序的基本结构:
一个Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中。
7.参数传值:
- 基本数据类型参数的传值:该参数传递的值得级别不能高于该参数的级别。
- 引用类参数传值:一个类中两个对象如果引用相同,二者具有完全相同的变量。
9.实例成员与类成员:
不同的对象实例变量互不相同。
所有对象共享类变量。
通过类名直接访问类变量。
10.方法重载:
一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。两个方法的而参数不同是指满足下列之一:
- 参数的个数不同。
- 参数个数相同,但参数列表中对应的某个参数的类型不同。
10.this关键字:
this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象。
this关键字出现在实例方法中时,this就代表正在调用该方法的当前对象。
11.import语句
教材学习中的问题和解决过程
问题1:对于对象和类的概念有点琢磨不清,感觉过于抽象。
解决方案:反复看课本上的例子,根据类的定义仔细看了一下例子里的代码,然后读到后面,看到创建对象一节时,理解了到底什么是对象。
问题2:在含有多个类的程序运行时,经常出现提示找不到符号的错误。
解决方案:这个问题主要原因出在忘记了第二周学习到的规则,一个程序应只含有一个public类,且运行时要运行主类。
问题3:不理解UML中的关联关系和依赖关系,并且区分不清楚。
解决方案:多次调试书上该部分代码,发现了他们的区别,再加上认真看书,有了一定的理解。
心得体会
首先先承认错误,JAVA很难理解和入门的学科,想要融会贯通更是不易,需要投入大量的自己学习的时间。但自己前两周并没有投入太多的时间精力来认真调试代码,练习编程。这周也周五才开始进行第四章的学习,虽然周末投入了很多时间,但第四章内容很多,并且包括类、对象在内的很多方面都是编程的基础,对后面的学习非常重要。自己好像并没有完全理解他们。在下一周学习第五章的同时,我也会投入额外的时间来补充学习第四章的内容。不过,我认为自己在这周也有很大的收获,在这周里我收获了最多的java基础知识。希望以后再接再厉,能静下心来投入更多的时间。
上周错题总结
1.下列关于创建对象的说法,错误的是
A.创建一个对象包括对象的声明和为对象分配变量两个步骤。
B.使用Student stu;声明对象变量后,stu的内存中还没有任何数据。
C.引用型成员变量的默认初值为0。
D.对象的引用存在堆中,对象的实体(分配给对象的变量)存在栈中。
E.String a=“ab”+“cd”;创建了3个对象。
正确答案: C D
你的答案: C
解析:D项:对象的引用存在栈中,对象的实体存在堆中。
2.下列关于实例方法和类方法的叙述,正确的是
A.类方法不可以操作实例变量,因为在类创建对象之前,实例成员变量还没有分配内存。
B.当创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址。
C.实例方法不能通过类名调用,只能由对象来调用。
D.不必创建对象就可以用类名直接调用static方法。
正确答案: A B C D
你的答案: A B D
解析:书P79-80。
20175202 《Java程序设计》第三周学习总结的更多相关文章
- Java程序设计第三周学习总结
1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 20175202 《Java程序设计》第九周学习总结
20175202 2018-2019-2 <Java程序设计>第九周学习总结 教材知识点总结 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系统,简称 ...
- 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
随机推荐
- git pull提交代码遇到的问题
git pull 提示如下错误 解决方法: git pull 后面加上分支具体地址 比如:git pull origin daily/1.0.0 同样git push origin daily/1. ...
- 异构去堆叠 | 一种完美提升网络高可用SLA的方案
行业内接入网络去堆叠已经逐步成为主流方向,在大型互联网公司也已经批量部署.但由于京东集团不同的业务需求及历史原因,没有条件完全复制目前主流的ARP转主机路由方式的去堆叠方案,这促使我们设计一种尽可能满 ...
- YYY0.1YYY
XXX0.2XXXZZZ目前提供免费下载和自动更新功能,由于自己的时间有限,就我一个开发,后期持续更新在线听歌.mp4转mp3.高音质下载.全球dj网站免费下载功能!ZZZ
- Java并发知识分享
volatile的内存语义 从JSR-133(即从JDK1.5开始),volatile变量的写-读可以实现线程之间的通信 当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量值刷 ...
- oracle 查询年月日连在一起
SELECT B.YEAR || replace(lpad(B.MONTH, 2), ' ', '0') || replace(lpad(B.WEEK, 2), ' ', '0') from TT_U ...
- 精进之路之HashMap
HashMap本质的核心就是“数组+链表”,数组对于访问速度很快,而链表的优势在于插入速度快,HashMap集二者于一身. 提到HashMap,我们不得不提各个版本对于HashMap的不同.本文中先从 ...
- python2入门(3)
六.python列表(List) python最常见的序列类型python列表List使用[]表示,元素之间以逗号分隔,元素类型不需要相同 内置操作: list = [1,2,3,'four'] li ...
- 《贝贝GO》技术支持
贝贝GO是一个采用R2M模式的电子商务平台,通过零售商到制造商的两点直线连接,去除中间所有分销代理环节,结合互联网打造全新的线下新零售,旨在为用户提供高品质.高性价比商品的同事带动零售业的新发展.提升 ...
- 刷新浏览器 protractor
//refresh browser.ignoreSynchronization = true; browser.refresh(); browser.sleep(3000); browser.swit ...
- redis安装linux(二)
官网地址:http://redis.io/ redis的安装 第一步:安装VMware,并且在VMware中安装centos系统(参考linux教程). 第二步:将redis的压缩包,上传到linux ...