• 20155337 2016-2017-2 《Java程序设计》第三周学习总结


    20155337 2016-2017-2 《Java程序设计》第3周学习总结

    教材学习内容总结

    第四章

    类与对象

    •定义:

    •对象(Object):存在的具体实体,具有明确的状态和行为。

    •类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制。 -关系:

    •从类看对象:类定义可视为具有类似性质与共同行为的对象的模板,用来产生对象。

    •从对象看类:类的产生,是实例,推广到大量相似实例的抽象化过程。

    •二者的关系:类是对象的设计图,对象是类的实例,生成对象要先定义类。

    •特点:
    •与c语言不同,在java中,需要的功能,就可以去找一个对象,这个对象就包含这个功能,通过new建立对象,通过“文件名+.+功能”调用一些该类的功能。
    •在编译过程中,可以定义类。回忆第二章,一个原始码中可以有多个类定义,但只能有一个是公开类,且文档中的主文档名必须与公开类名称相同。
    •可以使用标准类,类似于java.until.Scanner和java.math.BigDecimal,分别可以作为输入函数和高精度的计算函数其中BigDecimal中可以引用plus()、substract()、multiply()、divide()等。
    •注意“”和“=”的区别。“”比较两个变量储存的值是否相同,也就是所绑的对象,对象类型。“=”是指将值赋给变量,比较的是内含值具体数值,相当于a.equals。

    基本类型打包器

    •概念:

      在java中把一些基本类型变量打包成对象之中,这样就 可以像操作对象操作原本的“基本类型”的变量
    

    •特点:
    •重点要在于理解把固有的“面向过程”转换成“面向对象”,这样对象可以提供许多功能,简化我们的编程。
    •在对于自动装箱、自动拆箱,可以简便的建立对象
    •注意类似于Integer类型的有默认值,在编译的时候需要注意。

    字符串对象

    •概念:

       在java中,字符串本质是打包字符数组的对象,是java.lang.String.
    

    •特点:
    •通过一些如Byte.parseByte(number)等方法将字符串转换为整数、浮点数等基本类型。
    •在字符串池,以" "包括的字符串内容相同,无论在源代码中出现几次,JVM都只建立一个String实例,都在字符串池中维护。
    •利用+连接字符串,会产生新的String实例。
    •使用javac指令没有指定-encoding选项时候,会使用操作系统默认编码。

    查询API文件

    •方法:
    •通过java官方网站;
    •直接通过搜索引擎搜索对应的类,就会显示文件的说明了。
    •还可以在windows下载CHM格式的javaAPI。

    第五章

    何谓封装

    •概念:

       分装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,仅对外提供公共访问方式,隐藏对象细节,将对象当作黑箱进行操作。
    

    •特点:
    •自己可以定义类,创建属性,方法,如果其它需要用到相应的功能,只需要拿着“类设计图” 设计一个对象实例,,再根据公开提供的提供的方法,就可以使用相应的功能。
    •封装对象类似于c语言中的模块化编程,在java中做到了一类一文件,而且在java中更灵活方便。
    •可以像书中提到的,使用private对关键信息进行隐藏,设置访问数据的程度,防止用户恶意使用。

    语法细节

    •private:
    •用在成员变量前,这是一种保护机制,不让自己这个类以外的方法去随便使用存取这个类的数据,可以保护私有数据,只能通过调用自己类的方法去操纵这些数据,这样会很安全。
    •也可以用在方法或构造函数声明上,一般用在内部声明类中

    •方法重载:
    •根据自己的理解重载就好比是用相同的词表达多种不同的含义。
    •只要参数类型和个数不同,就可以定义多个构造函数,可用一致的名称来调用类似功能的方法。
    •与返回值无关,构造函数不一定关心它的返回值,可能只是想利用其中的某个功能。

    •this与super:
    •this关键字可以出现在类中的任何地方,在对象建立后为“这个对象”的参考名称。但是在被声明为static的地方不能这样使用。
    •super一般用在父类中,指代父类对象的参考名称。

    •final:
    •用在类前,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰
    •用在方法前,使用final方法的原因有两个:第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。
    •用在成员变量前,修饰变量是final用得最多的地方
    •static:所有对象公有的
    •static用于修饰成员变量和成员函数
    •访问惯例:类名.static成员
    •注意:由于static成员是属于类,而非个别对象,所以在static成员中使用this,会是一种语意上的错误。

    •import static

    与import一样,这样做是为了偷懒,但要注意名称冲突的问题。

    •变长参数

    在调用方法时,如果自变量的个数事先无法决定,则可以在声明参数列时在关键字后加上...,实际上不定长度自变量是编译程序蜜糖。

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

    在学习也只是简单的了解了他的概念,但是深层次却不太懂,后来看了视频以后就有所了了解,自己可以定义类,创建属性,方法,如果其它需要用到相应的功能,只需要拿着“类设计图” 设计一个对象实例,,再根据公开提供的提供的方法,就可以使用相应的功能。 封装对象类似于c语言中的模块化编程,在java中做到了一类一文件,而且在java中更灵活方便。就是隐藏对象细节,将对象做黑箱操作

    在细节语法细节中,对于一些public、private、this与super等,在前四章的代码学习中都有用过,但是了解的却不是很详细,学完第五章后就很系统的了解了。但是对于final存在着知识欠缺,通过看java学习视频也学习到了很多 在使用final修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为final类于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

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

    在操作数组中对于二维数组的理解还不足,将其理解成一维数组每个元素在索引一个数组就方便了理解。

    上周考试错题总结

    上周考试中,比第一次考试有所进步,这与平时的认真复习有着很重要的关系,但还没有达到我期望中的要求,所以我应该继续认真复习,把不会的Java问题向会的同学问明白,在下次考试中做到更好!

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第三周 121/200 1/2 12/20

    参考资料

  • 相关阅读:
    lintcode:落单的数
    lintcode: 翻转链表
    lintcode :Reverse Words in a String 翻转字符串
    lintcode :Invert Binary Tree 翻转二叉树
    lintcode : 空格替换
    lintcode:Matrix Zigzag Traversal 矩阵的之字型遍历
    lintcode: 爬楼梯
    lintcode:Compare Strings 比较字符串
    lintcode: 有效的括号序列
    lintcode :Valid Palindrome 有效回文串
  • 原文地址:https://www.cnblogs.com/Twe1vE/p/6538513.html
Copyright © 2020-2023  润新知