zoukankan      html  css  js  c++  java
  • 20145334赵文豪 《Java程序设计》第3周学习总结

    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

    参考资料

  • 相关阅读:
    Data Base mysql备份与恢复
    java 乱码问题解决方案
    【知识强化】第二章 物理层 2.1 通信基础
    【知识强化】第二章 进程管理 2.2 处理机调度
    【知识强化】第二章 进程管理 2.1 进程与线程
    【知识强化】第一章 操作系统概述 1.3 操作系统的运行环境
    【知识强化】第一章 网络体系结构 1.1 数据结构的基本概念
    【知识强化】第一章 网络体系结构 1.2 计算机网络体系结构与参考模型
    【知识强化】第一章 网络体系结构 1.1 计算机网络概述
    【知识强化】第一章 操作系统概述 1.1 操作系统的基本概念
  • 原文地址:https://www.cnblogs.com/bestizwh/p/5299266.html
Copyright © 2011-2022 走看看