20165235祁瑛 2018-3 《Java程序设计》第三周学习总结

教材学习内容总结

类与对象学习总结
  • 类:java作为面向对象型语言具有三个特性:①封装性。②继承性。③多态性。java中类是基本要素,类声明的变量叫对象。在类中定义体的函数题叫方法。
  • 类与程序的基本结构:(一)构造方法:创建对象时用,构造方法与类同名,没有类型。可以创建构造方法,但要保证参数个数不同或参数类型不同。(二)为对象分配变量时要用new字符。用“.”运算符来操作对象。(三)java有若干个类构成,这些类可以在一个源文件也可以在若干文件夹里。
  • 参数传值:(一)传值机制:方法中参数变量的值是调用者指定值得拷贝。
  • 对象的组合:一个类可以把某个对象作为自己的成员变量。一个对象a组合了对象b,那么a可以委托b调用其方法,即对象a以组合的方式复用b的方法。
  • 实例成员与类成员(一)在变量或方法前加上static叫类变量,否则叫实例变量。(二)区别:不同对象的实例变量各不相同,所有对象共享类变量,直接可以通过类名进行访问。(三)类方法只能调用类变量,而实例变量可以调用类变量,也可以调用实例变量。
  • 方法重载:(一)定义:一个类可以有多个方法具有相同的名字,但是得保证这些方法的参数不同或参数类型不同。(二)调用重载方法引用要明确,对应相同类型的参数,调用相同类型的参数的重载方法。
  • this关键字:(一)this关键字表示某个对象。(二)this不可以出现在类方法中,在类方法中可以将this改为类名。
  • 包:通过包语句package将几个源文件打包在一个文件夹下,可以对java文件进行有效的管理。
  • import语句:(一)语句作用是引入包中的类。(二)java.lang包是java语言的核心语句,不需要import语句来引入,其中包括“System类,Math类”。(三)如果没有用import引入包内的类,可以直接带包名使用该类。(四)用 private,public,protected修饰的方法和成员变量有一定的访问权限。(五)javadoc 文件名.java 会在目录中生成一个html的文档,可以用浏览器进行查看。
  • JRE扩展与jar文件:/jre/lib/ext,只要经类打包成jar文件,放入ext中,程序就可以使用import来使用扩展中的类。

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

  • 问题1:在教材78页有个代码,为什么汉字也可以作为变量使用,汉字在java语言中不是作为Unicode编码存在的吗?
  • 问题1解决方案:网上寻找答案,得出答案:Java支持中文类名、方法名、属性名,并且不会因为乱码问题导致运行期链接失败。这是Java内核支持UTF-8这一特性决定的。但是Java语言规范里并不支持这一用法.详见Java中用中文命名
  • 问题2:在方法重载时可以只保证返回类型不一样吗?
  • 问题2解决方案:上网寻得答案:方法返回类型不参与运算和比较,所以还是得保证方法参数不同,或参数类型不同。

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

  • 问题1:在编译时会有main方法的类时会出现“找不到符号的错误”,但是代码本身没有什么语法错误。

  • 问题1解决方案:在学习到包语句之后,我将与之有关的源文件打包package Java_pack.pack_1,并对这几个源文件进行同时编译javac bin/Java_pack/pack_1/*.java,这样就没有出现错误。然后输入java -cp .:bin Java_pack.pack_1.文件名

下面是我在unbuntu中建立的包文件目录:

代码托管

学习感悟

在本周的学习中我受益匪浅,从类到创建对象以及对调用方法等让我感到java这个面向对象语言的强大,但让我真正感到强大的是java庞大的类库,比如java.lang,java.until等,这些类库给我们提供了很多算法。与c语言不同的是,c语言一个很简单的算法如排序查找等都得自己写算法,而java就可以通过import语句调用类库中的算法。其实我觉得c语言中的结构体与Java中的类有着相同的作用,c语言中有结构体数组,而java中有对象数组,都是在数组中存放一个个结构体或对象。但区别是是C语言中的结构体只是面向自己,而java中的类是面向所有对象的,不同的源文件可以调用不同源文件中的类。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 31/200 1/2 12/20 git使用
第二周 404/500 3/4 24/38 java基本语法
第三周 920/1000 4/7 52/60 类与对象以及打包

参考资料

20165235祁瑛 2018-3 《Java程序设计》第三周学习总结的更多相关文章

  1. 20165235 祁瑛 2018-4 《Java程序设计》第九周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第九周学习总结 教材学习内容总结 URL类 UR类是java.net包中的一个重要类,使用URL创建的对象的应用程序称作称作客户端 ...

  2. 20165235 祁瑛 2018-3 《Java程序设计》第四周学习总结

    20165235 祁瑛 2018-3 <Java程序设计>第四周学习总结 教材学习内容总结 第五单云总结 (一)子类与继承1.java中子类只能有一个父类,在类名前用extends标记.2 ...

  3. 20165235 祁瑛 2018-4 《Java程序设计》第八周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第八周学习总结 教材学习内容总结 操作系统与进程 程序是一段静态的代码,它是应用软件执行的蓝本.进程是程序的一次动态执行过程,它对 ...

  4. 20165235 祁瑛 2018-4 《Java程序设计》第七周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第七周学习总结 教材学习内容总结 MySQL数据管理系统 MySQL数据管理系统,简称MySQL,是世界上流行的数据管理系统. M ...

  5. 20165235 祁瑛 2018-4 《Java程序设计》第六周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第六周学习总结 教材学习内容总结 常用实用类 (一)1.String类是final类型的,String类型常量也是对象.2.可以使 ...

  6. Java程序设计第三周学习总结

    1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  7. 2018-03-11 20165235祁瑛《Java程序设计》第二周学习总结

    2018-03-11 20165235祁瑛<Java程序设计>第二周学习总结 教材学习内容总结 第二章要点: 在这一章中我学到了很多东西: (1)布尔类型boolean,布尔类型的赋值只能 ...

  8. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

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

随机推荐

  1. 使用PHP Manager for IIS时,Windws 10自带IIS注意事项

    1)开启IIS 10:在“控制面板”的“程序和功能”的“启用或关闭Windows功能”内,勾选(启用)“Internet Information Services”,然后确定,进行安装. 2)若要使用 ...

  2. NPOI打印设置

    打印设置主要包括方向设置.缩放.纸张设置.页边距等.NPOI 1.2支持大部分打印属性,能够让你轻松满足客户的打印需要. 方向设置首先是方向设置,Excel支持两种页面方向,即纵向和横向. 在NPOI ...

  3. 彻底完全卸载 SQL Server 2005 的图文教程

    彻底完全卸载 SQL Server 2005 的图文教程 SQL SERVER 2005不象SERVER 2000所有组件都汇总在一起,所以卸载时特别麻烦,如果不按正常的方法卸载,重新安装是不可能安装 ...

  4. Oracle从入门到精通(详细) 明日科技

  5. day 13 装饰器

    装饰器基础 装饰器的目的是为了给被装饰 对象,增加新功能,或者说增加某种能力 在程序中工具就是函数 如此一来,装饰器指的就是一个函数,被装饰着也是一个函数 总结;装饰器就是用一个函数去拓展另外一个已存 ...

  6. npm 如何查看一个包的版本信息?

    转载. https://blog.csdn.net/cvper/article/details/79543262 有了npm 我们能够简单的一段代码就下载我们需要的包,但是包是不断更新的, 所以我们要 ...

  7. Jmeter BeanShell PostProcessor提取json数据

    需求:提取sample返回json数据中所有name字段值,返回的json格式如下: {“body”:{“apps”:[{“name”:”111”},{“name”:”222”}]}} jmeter中 ...

  8. 俺也会刷机啦--windows7下刷android

    刷机很多人都会,本文只为像我这种入门的朋友而写的. 风险提示: 1. SD卡数据极可能会丢失(我这次就全丢了). 2. 升级失败. (俺的)环境说明: windows7 专业版64位 cmd命令行工具 ...

  9. 步步为营-104-Lambda语句

    1:Lambda的拼接 首先借助一个Lambda的帮助类 using System; using System.Collections.Generic; using System.Linq; usin ...

  10. IEDA序列化设置