20165233 2017-2018-2 《Java程序设计》第三周学习总结

教材学习内容总结

  • 基础

    • 类:包括类声明和类体。

      • 其中类声明的变量被称作对象变量,简称对象
      • 类体中包括两部分:一部分是变量的声明,体现数据,即属性;另一部分是方法的定义,体现操作,即行为。
    • 构造方法与对象的创建

      • 构造方法分为默认构造方法与自定义构造方法,构造方法没有类型
      • 创建对象分为对象的声明和为对象分配变量(new运算符)两个步骤。
    • 类与程序的基本结构

  • 重点

    • 参数传值

      • 传值机制:方法中参数变量的值是调用者指定的值的拷贝。
      • 两种方式:基本数据类型参数的传值,引用类型参数的传值。
    • 对象的组合
      • 一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量
  • 理解

    • 实例成员与类成员

      • 有关键字static得失类变量,其余为实例变量
      • 实例变量通过对象去访问;类变量通过类名去访问。
      • 实例方法中不仅可以操作实例变量,也可以操作类变量;类方法不能操作实例变量。
    • 方法重载:一个类中可以有多个方法具有相同的名字,但参数必须不同。
    • this关键字
    • import语句
  • 实用

    • JRE扩展与jar文件

教材学习中的问题和解决过程

  • 问题1:教材54页中,一个示例:
class Factory {
float [] a;
Workman zhang;
}
class Workman {
double x;
}

zhang是Workman类声明的变量,即对象。类声明的变量与对象有何区别?

  • 问题1解决方案:在网络中搜索获得的解答是:对象是由类产生的个体,是对一个客观实体的描述;变量是对象的属性,是对对象的引用。例如,类比作一个人类;对象比作一个类的实例(我自己);变量比作我的名字、身高。

  • 问题2:声明对象与创建对象的区别?

  • 问题2解决方案:声明对象一般是类的名字 对象名字;,例如Lader lader;创建对象是使用new运算符和类的构造方法为声明的对象分配变量

  • 问题3:什么情况下需要使用构造方法?

  • 问题3解决方案:使用构造方法的好处是可以在对象初始的时候就对某些变量赋值等操作。这样可以提高效率,相比对象创建出来,set成员变量的方式更能减少调用对象的方法的错误,也更简便。

代码调试中的问题和解决过程

  • 问题1:在学习类与程序的基本结构时,例子5书上建议将多个类分别放在不同的源文件中,按照此方法,编译Example4_5.java后,我在bin文件夹中没有发现自动编译Rect.java和Lader.java所产生的字节码文件,并且编译Example4_5.java时,为什么程序报错了“找不到符号”的内容?(已经单独编译过Rect.java和Lader.java)

  • 问题1解决方案:在src文件夹中新建一个文件夹ch04,只放入Example4_5.java、Rect.java和Lader.java。然后通过命令行javac ch04/*.java,便可成功编译。

代码托管

上周考试错题总结

  • 错题1:表达式-2>>>1的值为?

原因:对于移位符号的使用有些不清楚,-2应该使用32位的补码来进行运算也不清楚。

理解情况:-2=1111 1111 1111 1111 1111 1111 1111 1110向右移动1位之后,最高位用0补,移位后可得0111 1111 1111 1111 1111 1111 1111 1111,即2^31-1

  • 错题2:下列错误的初始化语句是:B.char str[100]="hello";D.char str[]={'hello'}

原因:对于字符串的一些书写规则不太熟练。

理解情况:B选项中[]不能写数组的大小,D选项中一个单词不能直接写入括号内,必须单个字符分开。

(有些题目不知道是否做错,之后会补充错题总结。)

其他

本周学习感觉难度增大许多,类与对象这里有很多令人难以理解的概念与知识点,通过敲代码,结合微课视频,分析一整个程序,把对应的例如对象、方法、局部变量、成员变量之类的东西标在语句旁边,更有利于理解,并重复,达到看懂一个程序的目的。微课的老师利用画一个程序的示意图,也是帮助我更好理解程序的方法,之后可以尝试自己分析程序的时候,亲自动手画,来检验自己是否真的理解了此程序。

20165233 Java第四章学习总结的更多相关文章

  1. 第三周学习java第四章学习总结及体会!

    第三周java 2第四章的学习总结: 一.主要内容(类与对象): 1.类: 2.构造方法与对象的创建: 3.类与程序的基本结构: 4.参数传值: 5.对象的组合: 6.实例成员与类成员: 7.方法重载 ...

  2. 《码出高效:Java开发手册》第四章学习记录,内容想当的多,前后花了几天的时间才整理好。

    <码出高效:Java开发手册>第四章学习记录,内容想当的多,前后花了几天的时间才整理好. https://naotu.baidu.com/file/e667435a4638cbaa15eb ...

  3. “全栈2019”Java第四章:创建第一个Java程序

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. Spring实战第四章学习笔记————面向切面的Spring

    Spring实战第四章学习笔记----面向切面的Spring 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我 ...

  5. apue第四章学习总结

    apue第四章学习总结 4.1.若以stat函数去替换lstat函数,会发生: 原来的目录路径: $:~/workspace/apue2/include$ ls -l apue.h abc lrwxr ...

  6. 《Linux内核设计与实现》第四章学习笔记

    <Linux内核设计与实现>第四章学习笔记           ——进程调度 姓名:王玮怡  学号:20135116 一.多任务 1.多任务操作系统的含义 多任务操作系统就是能同时并发地交 ...

  7. 《Linux内核设计与实现》第四章学习笔记——进程调度

                                                                        <Linux内核设计与实现>第四章学习笔记——进程调 ...

  8. 鸟哥的linux私房菜——第四章学习

    ******************第四章学习****************** [热键] 1.Tab键:命令补全:文件补全: 2.Ctrl+c:中断目前指令: 3.Ctrl+d:离开当前文本界面: ...

  9. 201771010113 李婷华 《面向java对象程序设计(Java)》第四章学习总结

    一. 理论知识部分 第四章 对象与类 本章主要讲述面向对象程序设计.如何创建标准Java类库中的类对象.如何编写自己的类. 1.面向对象程序设计的几个主要概念: 抽象数据类型.类和对象.封装.类层次( ...

随机推荐

  1. Angular i18n

    Angular2中使用ngx-translate进行国际化http://blog.csdn.net/u014291497/article/details/61233033 在 Angular 项目中添 ...

  2. hdu 3697 10 福州 现场 H - Selecting courses 贪心 难度:0

    Description     A new Semester is coming and students are troubling for selecting courses. Students ...

  3. java应用简单递归

    毕业后就怎么学过算法,还在上学的时候学过数据结构,现在基本上都还给老师了,可惜老师学费没有还给我... 情景: 类似于给定一个数字,算他由多少个数字组成,比如:36 现在有10.5.1 ,那么最佳帅3 ...

  4. 2018.12.21 Cmos- RF

    1 PSK 趋肤效应 50欧匹配 smith s参数 :在datasheet里面会有 Information coding Bluetooth : Continous Variable Slope D ...

  5. 在Windows中配置Rsync同步

    Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限.时间.软硬链接.第一次同步时 rsync 会复制全部内容,下次只传输修改过的文件部分.传输数据过程中可 ...

  6. 博客(第0次作业)—— New Starting Point

    一.最理想的师生关系是健身教练和学员的关系,在这种关系中你期望获得来自老师的那些帮助? 正如文章中所说,这些学员的想法得足够强烈, 他/她才会花钱去参加这样的健身活动,每一个来学习的学生,  都是想学 ...

  7. [QT]加快qt编译:设置默认多核编译qt

    使用环境:win7 + QT Creator 4.2.1 + QT5.8 + MinGW5.3.0 32bit 设置默认多核编译qt  来源:http://stackoverflow.com/ques ...

  8. [QT_OPENCV] qt下opencv配置以及首个opencv工程

    使用环境 : window版本 : win7 x64 QT : 5.8 32bit MinGW530 OpenCv : 3.2 opencv在qt下的环境配置: 在百度上百度了许多关于opencv环境 ...

  9. 20145237《网络攻防》Web基础

    基础问题回答 什么是表单: 表单是一个包含表单元素的区域.表单元素是允许用户在表单中输入信息的元素.表单在网页中主要负责数据采集功能. 浏览器可以解析运行什么语言: 超文本标记语言:HTML: 可扩展 ...

  10. Codeforces 158B:Taxi

    B. Taxi time limit per test 3 seconds memory limit per test 256 megabytes input standard input outpu ...