20145334赵文豪 《Java程序设计》第3周学习总结

教材学习内容总结

下面的是代码托管的截图

第四章学习内容总结

4.1 类与对象

1.对象(Object):

存在的具体实体,具有明确的状态和行为

2.类(Class):

具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制

3.从类看对象:

类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象

4.从对象看类:

类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction)

5.类是对象的设计图,对象是类的实例,生成对象要先定义类。类定义时使用class关键词,建立实例要使用new关键词。以类名称声明的变量,称为参考名称、参考变量或直接叫参考。

6.一个原始码中可以有很多个类定义,但只能有一个是公开类,且文档中的主文档名必须与公开类名称相同。只要有一个类定义,编译程序就会产生一个.class文档。

7.对象指定与相等性:

当=用于基本类型时,是将值复制给变量,当==用于基本类型时,是比较两个变量储存的值是否相同。 当你在操作对象时,=是用在指定参考名称参考某个对象,而==是用在比较两个参考名称是否参考同一对象。

4.2基本类型打包器

如图所示

4.3数组对象

1.在Java中,数组是对象。

2.与C语言不同,Java需要检查数组边界,越界会触发ArrayIndexOutOfBoundsException异常。

3.无论System.arraycopy()还是Arrays.copyof(),用在类类型声明的数组时,都是执行浅层复制。

4.4字符串对象

1.在Java中,字符串是java.lang.String实例,用来打包字符数组。

2.在Java中,以""包括的字符串,只要内容相同(序列、大小写相同),无论在代码中出现几次,JVM都只会建立一个String实例。

第五章学习内容总结

5.1 何谓封装

1.

封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作。通过构造方法(构造函数)封装初始化流程通过成员方法(函数)封装操作通过成员变量封装数据

5.2类语法细节

1.如果没有声明权限修饰的成员,只有在相同包的类程序代码中才可以直接存取,也就是“包范围权限”。如果想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象成员必须是公开成员,在Java中要使用public加以声明。

2.如果定义类时,没有撰写任何构造函数,编译程序会自动加入一个无参数、内容为空的构造函数,称为默认构造函数。可以定义多个构造函数,只要参数类型或个数不同,这称为重载构造函数。

3.在Java中,this()代表了调用另一个构造函数,且this()调用只能出现在构造函数的第一行。

4.被声明为static的成员,不会让个别对象拥有,而是属于类。

5.以类命名实例来说,首字母是大写,以static使用习惯来说,是通过类名称与“.”运算符来存取。

6.在static方法或区块中不能出现this关键字。static方法中不能用非static数据或方法成员。

7.使用import static语法要注意名称冲突问题,有些名称冲突编译程序可通过以下顺序来解析。

局部变量覆盖:选用方法中的同名变量、参数、方法名称。

成员覆盖:选用类中定义的同名数据成员、方法名称。

重载方法比较:使用import static的各个静态成员,若有同名冲突,尝试通过重载判断。

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

学习类与对象的关系中,要产生对象必须先定义类,类是对象的设计图,对象是类的实例。此外,通过举汽车的例子,也让我对类与对象有了更深层次的理解。类在定义时要使用关键词class,而具体对象就是对应java在堆内存中用new建立的实体。在Java中,为个别对象的数据成员指定值的方式是:对象.对象成员,例如sun.color = "red";

在创建对象之后、调用函数之前,若有想执行的流程,可以使用{}定义。

其运行结果如下

课后练习:
Ch4:A A A B A C B C A C
Ch5:AD BCD C AC A A D ABC A D

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

可以使用 Long.Integer.Double.Float.Boolean.Byte等类来打包基本类型,他们是所谓的打包器。下面的程序中,Integer wrapper1 = new Integer(data1)就是打包基本类型,程序中还有基本类型运算和操作打包器方法。

在依次取出数组中的每个值,可以用for循环

运行结果如下

通过类名称与“.”运算符,可以取得static成员,也可以声明方法为static成员。代码如下

其他(感悟、思考等,可选)

本周的java学习任务感觉挺繁重的,学习了四五两章的内容,感觉才算是到了java的核心内容,需要更高效率的来完成学习内容,合理安排时间。要多做课后练习多思考,这样才更有利于对知识的理解和吸收,有些知识当时理解了之后可能会忘掉,所以要及时整理以便之后的复习。任何事情,万事开头难,但只要坚持下来了,一定会受益匪浅,比如托管代码,最开始觉得很难,学会了后就会很轻松。另外以后一定要完成课后的练习。

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
目标 3000行 20 300
第一周 200/200 1/1 12/15
第二周 200/300 1/2 15/20
第三周 240/350 1/2 20/30

参考资料

20145334赵文豪 《Java程序设计》第3周学习总结的更多相关文章

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

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

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

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

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

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

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

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

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

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

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

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

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

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. Nginx支持多站点配置小结

    如何配置 web 服务器才能在一个 VPS 上放置多个网站/博客呢?如何通过一个 IP 访问多个站点/域名呢?这是大多数 web 服务器支持的 virtual hosting 功能.即一个IP对应多个 ...

  2. Android学习系列(40)--Android主题和样式之系统篇(下)

    11)Widget样式(Widget Style) 特别说明,此处定义大量的系统内置控件的样式,对于重写原生控件的样式具有很大的参考价值. <!-- Widget styles --> & ...

  3. Java 多字符分割字符串

    有时候要对不规整的数据进行分割处理,数据中可能会出现一个或多个不同的分割符,这时需要用到 String.split() 方法来进行分割,代码如下: String string = "张三:李 ...

  4. 06_Java多线程、线程间通信

    1. 线程的概念      1.1多进程与多线程 进程:一个正在执行的程序.每个进程执行都有一个执行顺序,该顺序是一个执行路径,或叫一个控制单元. 一个进程至少有一个线程. 线程:就是进程中的一个独立 ...

  5. Codeforces 682D Alyona and Strings(DP)

    题目大概说给两个字符串s和t,然后要求一个包含k个字符串的序列,而这个序列是两个字符串的公共子序列,问这个序列包含的字符串的总长最多是多少. 如果用DP解,考虑到问题的规模,自然这么表示状态: dp[ ...

  6. uva 107 - The Cat in the Hat

     The Cat in the Hat  Background (An homage to Theodore Seuss Geisel) The Cat in the Hat is a nasty c ...

  7. CodeForces#275--DIV 2--A

    A. Counterexample time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  8. 11039 - Building designing

      Building designing  An architect wants to design a very high building. The building will consist o ...

  9. Activiti工作流学习(二)流程实例、执行对象、任务

    一.前言 前面说明了基本的流程部署.定义,启动流程实例等基本操作,下面我们继续来学习流程实例.执行对象.任务. 二.流程实例.执行对象说明 整个Activiti的生命周期经过了如下的几个步骤: 1.流 ...

  10. 20145304 Java第八周学习报告

    20145304<Java程序设计>第八周学习总结 教材学习内容总结 NIO NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记 ...