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. spring boot: 热部署(一) run as – java application (spring-loader-1.2.4.RELEASE.jar)

    spring boot: 热部署(一) run as – java application (spring-loader-1.2.4.RELEASE.jar) 如果使用的run as – java a ...

  2. ubuntu下修改matlab R2016b的快捷键为windows下相同

    选为: windows默认类.

  3. HDU-4550-贪心

    卡片游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submis ...

  4. 时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)——三次指数平滑算法可以很好的保存时间序列数据的趋势和季节性信息

    from:http://www.cnblogs.com/kemaswill/archive/2013/04/01/2993583.html 在时间序列中,我们需要基于该时间序列当前已有的数据来预测其在 ...

  5. Git标签(版本)管理

    列出当前所有的标签 git tag     可以搜索特定的标签,例如你只想看稳定版相关的 git tag -l "*.stable"   给当前commit打标签(设定版本) gi ...

  6. 开源FTP软件FileZilla使用介绍

    简介 FileZilla是一个优秀的开源FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能,如果想自己搭建FTP服务器,FileZilla是一个好选择. 下载 FileZilla有一个中 ...

  7. 【python】venv使用

    virtualenvwrapper 比 virualenv 好用一些. 准备 export WORKON_HOME=~/venv source /usr/bin/virtualenvwrapper.s ...

  8. 理解 python 装饰器

    变量 name = 'world' x = 3 变量是代表某个值的名字 函数 def hello(name): return 'hello' + name hello('word) hello wor ...

  9. fiddler手机端抓包配置

    首先,你得安装fiddler,这是前提条件,手机抓包有必须条件: 需要保持电脑和手机在同一个局域网中 (这一点,我一般会在电脑上启动一个wifi,然后手机连接即可) 下面说一下如何配置: 手机连接电脑 ...

  10. ASP.NET CORE网站部署到 windows server 的IIS 上去

    章基于我自己经验的一个总结,在windows服务器上部署asp.net core网站.环境是 windows server 2012数据中心版本 第一步先安装 IIS 服务器 接下来就是一路下一步,然 ...