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. ABP zero出现Default language is not defined!的错误的解决方法

    打开程序包管理器控制台,把EntityFramework作为默认项目,并且执行Update-Database命令 再运行项目

  2. Rspec: everyday-rspec实操: 第9章 快速编写测试,编写快速的测试。

    Make it work, make it right, make it fast. 测试运行的时间.应用和测试组件的增长,速度会越来越慢,目标是保持代码的readable, maintainable ...

  3. web sql 基本操作 - 增删改查

    不喜欢看md原文的 可以访问这个链接:http://note.youdao.com/noteshare?id=6a91e3dea7cdf5195bb0e851d9fcb5a5 # web sql 增删 ...

  4. 使用Jenkins来实现内部的持续集成流程(上)

    前言 Jenkins和TeamCity都是大杀器,用于搭建内部持续集成环境都是妥妥的.本篇主要介绍Jenkins的安装,下篇将介绍相关配置和使用. 目录 安装和配置 第一次启动 插件安装,第一次进入时 ...

  5. SpringMvc测试框架详解----服务端测试

    随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的.从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用sp ...

  6. notepad++个人专注

    notepad++个人专注   快捷键 功能 1 Ctrl>>>>>>>>>>    Ctrl + b  匹配括号 Ctrl + d  选中 ...

  7. 201621123005《Java程序设计》实验总结

    201621123005<Java程序设计>第七次实验总结 1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最 ...

  8. New Concept English Two 5

    $课文9 冷遇 83. On Wednesday evening, we went to the Town Hall. 星期三的晚上,我们去了市政厅. 84. It was the last day ...

  9. 归并排序算法-Java实现

    简介: 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序 基本思想: 将一个无序数组,利用 ...

  10. gulp-css-spriter 将css代码中的切片图片合并成雪碧图

    NPM地址:https://www.npmjs.com/package/gulp-css-spriter/ 配置gulpfile.js: var gulp = require('gulp'),     ...