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. 递归--练习2--noi6261汉诺塔

    递归--练习2--noi6261汉诺塔 一.心得 先把递推公式写出来,会很简单的 二.题目 6261:汉诺塔问题 总时间限制:  1000ms 内存限制:  65536kB 描述 约19世纪末,在欧州 ...

  2. kali debian linux 的samba 共享设置

    1) 首先,默认的源http.kali.org 会自动帮你找镜像,问题是他找到了 mirrors.neusoft.edu.cn , 这个源速度虽然快,却是有问题的. 安装不了cifs-utils 2) ...

  3. 雷林鹏分享:Ruby File 类和方法

    Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...

  4. linux shell执行原理

    shell简介 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行. 运行背景 a 一个基本的linux系统结构 b.由上图可以看出,shel ...

  5. hdu2149巴什博弈输出

    一眼就能看出来的巴什博弈,只是要输出第一步取的值,如果m>n+1,输出m%(n+1),否则输出m到n,因为这是第一步 #include<map> #include<set> ...

  6. idea中解决Git反复输入代码的问题

    打开git终端,或者idea中的插件终端,输入命令: git config --global credential.helper store 借用一下别人的图不要介意哈.......... 执行上述命 ...

  7. uva-10491-经典问题

    https://vjudge.net/problem/UVA-10491 有a个门后是牛,b个门后是车,一开始随机选一个门,然后主持人会打开c(c<a)个为牛的门,之后可以选择换门(这里要求总是 ...

  8. IOS-网络(GET请求和POST请求、HTTP通信过程、请求超时、URL转码)

    // // ViewController.m // IOS_0129_HTTP请求 // // Created by ma c on 16/1/29. // Copyright © 2016年 博文科 ...

  9. 浅析promise

    Promise是一个构造函数,可以通过new 操作符获取一个promise对象,promise者,人如其名也.对,就是承诺.显示生活中,我们承诺别人一件事,一般会在将来某个时间兑现承诺.而 Promi ...

  10. ReactNative 问题集合

    在线流畅播放视频 (建议调用原生的视频组件, 或者在成熟的安卓 ios组件封装一层) 如何指定页面横屏 (在这个组件react-native-orientation基础上改写) webSocket不和 ...