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程序设计》第三周学习总结的更多相关文章

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

    1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  2. 20175202 《Java程序设计》第九周学习总结

    20175202 2018-2019-2 <Java程序设计>第九周学习总结 教材知识点总结 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系统,简称 ...

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

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

  4. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  5. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  6. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  7. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  8. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  9. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

随机推荐

  1. git pull提交代码遇到的问题

    git pull 提示如下错误 解决方法: git pull 后面加上分支具体地址  比如:git pull origin daily/1.0.0 同样git push origin daily/1. ...

  2. 异构去堆叠 | 一种完美提升网络高可用SLA的方案

    行业内接入网络去堆叠已经逐步成为主流方向,在大型互联网公司也已经批量部署.但由于京东集团不同的业务需求及历史原因,没有条件完全复制目前主流的ARP转主机路由方式的去堆叠方案,这促使我们设计一种尽可能满 ...

  3. YYY0.1YYY

    XXX0.2XXXZZZ目前提供免费下载和自动更新功能,由于自己的时间有限,就我一个开发,后期持续更新在线听歌.mp4转mp3.高音质下载.全球dj网站免费下载功能!ZZZ

  4. Java并发知识分享

    volatile的内存语义 从JSR-133(即从JDK1.5开始),volatile变量的写-读可以实现线程之间的通信 当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量值刷 ...

  5. oracle 查询年月日连在一起

    SELECT B.YEAR || replace(lpad(B.MONTH, 2), ' ', '0') || replace(lpad(B.WEEK, 2), ' ', '0') from TT_U ...

  6. 精进之路之HashMap

    HashMap本质的核心就是“数组+链表”,数组对于访问速度很快,而链表的优势在于插入速度快,HashMap集二者于一身. 提到HashMap,我们不得不提各个版本对于HashMap的不同.本文中先从 ...

  7. python2入门(3)

    六.python列表(List) python最常见的序列类型python列表List使用[]表示,元素之间以逗号分隔,元素类型不需要相同 内置操作: list = [1,2,3,'four'] li ...

  8. 《贝贝GO》技术支持

    贝贝GO是一个采用R2M模式的电子商务平台,通过零售商到制造商的两点直线连接,去除中间所有分销代理环节,结合互联网打造全新的线下新零售,旨在为用户提供高品质.高性价比商品的同事带动零售业的新发展.提升 ...

  9. 刷新浏览器 protractor

    //refresh browser.ignoreSynchronization = true; browser.refresh(); browser.sleep(3000); browser.swit ...

  10. redis安装linux(二)

    官网地址:http://redis.io/ redis的安装 第一步:安装VMware,并且在VMware中安装centos系统(参考linux教程). 第二步:将redis的压缩包,上传到linux ...