• 20145105 《Java程序设计》第3周学习总结


    20145105 《Java程序设计》第3周学习总结

    教材学习内容总结

    第四章 认识对象

    一、类与对象

    要产生对象必须先定义类,类是对象的设计图,对象是类的实例。
    

    (一)定义类

    1.类定义时使用class关键词
    2.建立实例时使用new关键词
    3.在类中定义的变量,叫做值域成员或对象数据成员
    ps:一个原始码中可以有多个定义类,但只能有一个是公开类,且文档中的主文档名必须与公开类相同
    

    (二)使用标准类

    1.使用java.util.Scanner(创建实例)
    2.使用java.math.BigDecimal(得到更好的精确度)
    

    (三)对象指定与相等性

    1."=",用于指定参考名称参考某个对象
    2."==",用于比较两个参考名称是否参考同一对象
    

    二、基本类型打包器

    (一)打包基本类型

    让基本类型像对象一样操作,可以使用Long、Integer、Double、Float、Boolean、Byte等类来打包
    

    (二)自动装箱、拆箱

    1.使用Integer wrapper = 10打包基本类型
    2.使用Number类来自动装箱
    3.自动拆箱:即自动取出打包器中的基本形态信息
    

    三、数组对象

    (一)数组基础

    1.数组基本上是用来收集数据,是具有索引的数据结构
    2.数组是对象,而不是单纯的数据集合
    3.一维数组使用一个索引存取数组元素,二维数组使用两个索引存取数组元素
    

    (二)操作数组对象

    1.使用java.util.Arrays的fill()方法来设建数组的元素值
    2.int[]之类声明的变量就是参考变量
    

    (三)数组复制

    1.自行使用循环做值的复制
    2.使用System.arraycopy()方法,使用原生方式复制每一个索引元素
    3.使用Arrays.copyOf()
    

    四、字符串对象

    (一)字符串基础

    1.字符串本质是打包字符数组的对象,是java.lang.String类的实例
    

    (二)字符串特性

    1.用""写下的字符串称为字符串常量
    2.在java中,字符串对象一旦建立,就无法更改对象中任何内容,对象上没有任何方法可以更改字符串内容。可以使用 + 连接字符串,改用StringBuilder来改善
    

    第五章 对象封装

    一、何谓封装

    封装(Encapsulation)实际上是使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作
    1.通过构造方法(构造函数)封装初始化流程
    2.通过成员方法(函数)封装操作
    3.通过成员变量封装数据
    ps:(1)private关键字:是一个权限修饰符。用于修饰成员(成员变量和成员函数)。被私有化的成员只在本类中有效
        (2)功能:将成员变量私有化,对外提供对应的set ,get 方法对其进行访问。可提高对数据访问的安全性
    

    二、类语法细节

    (一)public权限修饰

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

    (二)关于构造函数

    1.函数名与类名相同 
    2.不用定义返回值类型
    3.不可以写return语句
    4.多个构造函数是以重载的形式存在的
    

    (三)构造函数与方法重载

    重载构造函数:视使用情景或条件不同,创建对象时也许希望有对应的初始流程。可以定义多个构造函数,只要参数类型或个数不同。
    

    (四)使用this

    1.this代表其所在函数所属对象的引用,换言之:this代表类对象的引用
    2.当在函数内需要用到调用该函数的对象时就用this
    

    (五)static类成员

    1.用于修饰成员(成员变量和成员函数)
    2.被修饰后的成员具备以下特点:
      (1)随着类的加载而加载
      (2)优先于对象存在
      (3)被所有对象所共享
      (4)可以直接被类名调用
    3.使用注意:
      (1)静态方法只能访问静态成员
      (2)静态方法中不可以写this,super关键字
      (3)主函数是静态的
    

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

    四、五两章有很多的新名词,接受起来较为困难,有很多地方看几遍都看不懂,通过对比学习教材和视频,才理解一些晦涩难懂的内容。

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

    向同学学习了idea的使用方法,学会了在src文件夹内新建class,才能运行代码,因为是抄写书上代码,所以在编写与运行过程中没出现什么问题。

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

    之前虽然不会用idea,百度也找不到有针对性的新手教程,但是一直拖着没有问同学,这次学会了使用方法,在代码编写和运行的过程中减少了很多不必要的麻烦,节约了很多时间。今后我发现问题也要及时解决,减少在拖沓的操作中浪费的时间,提高学习效率。

    学习进度条

    |         | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|

    | -------- | :----------------:|:----------------:|:---------------: |:-----:|

    | 目标      | 5000行                | 30篇                 | 400小时            | |

    | 第一周   | 70/70                  | 1/1                  | 14/14               | |

    | 第二周   | 150/220              | 1/2                   | 18/32               | |

    | 第三周   | 400/620              | 1/3                   | 35/67               | |

    参考资料

  • 相关阅读:
    多级部署下的SuperMap iServer 2.0 JS 聚合功能(一)
    Kubernetes&Docker集群部署
    股票数据存储系统(KeyValue存储)设计与实现
    Ajax+Tornado模拟长、短轮询
    REST架构网站改写:前端MVC Angular.js,Web框架 Express.js, 数据库 MongoDB
    SQLite数据库C++ API封装
    一致性哈希(Consistent Hashing)算法的C++实现
    数据结构——排序
    数据结构——折半查找
    索引学习笔记
  • 原文地址:https://www.cnblogs.com/schwarizard/p/5300201.html
Copyright © 2020-2023  润新知