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. 47)django-以put和delete方式提交数据

    一:说明 同一个页面以ajax实现增删改查,对应方法post,delete,put,get, 其中delete和put方式提交的数据在request.body中需要序列化处理. 二:示例 #模板提交数 ...

  2. Linux平台 Oracle 18c RAC安装

    Linux平台 Oracle 18c RAC安装Part1:准备工作 2018-08-04 22:20 by AlfredZhao, 1065 阅读, 0 评论, 收藏, 编辑 一.实施前期准备工作 ...

  3. css 样式 记录

    /* Track */::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); -webkit-bo ...

  4. C#一元二次方程

  5. Confluence 6 使用 JMX 界面实时监控

    使用 JMX 界面(Java Management Extensions API ),你可以实时的查看你 Confluence 运行实例的状态. JMX 使用的对象被称 MBeans (Managed ...

  6. Python基础知识之大杂烩

    一.range 和 xrange 的区别 xrange 与 range 基本上都是在循环的时候用,两者的用法完全相同.所不同的是xrange生成的是一个生成器,而range生成的是一个list对象. ...

  7. JSP概述

    一.JSP页面本质上时一个Servlet,然而,用JSP开发比使用Servlet更容易,主要有两个原因,首先不必编译Servlet,其次JSP页面是一个以.jsp为扩展名的文本文件,可以使用任何编辑器 ...

  8. WPA2-PSK无线密码破解

    无线网络WIFI(wireless Fidelity )正确发音 /wai fai/ 是一个建立在IEEE 802.11标准的无线局域网,目前主流的无线上网模式主要有两种分别是 GRPS(手机无线上网 ...

  9. XSS-HTML&javaSkcript&CSS&jQuery&ajax

    1.设置不同的样式列表 <style> ul.a{list-style-tyrp:circle;}    ul.b{list-style-type:square;}   ul.c{list ...

  10. HTML&javaSkcript&CSS&jQuery&ajax(三)

    一.HTML块元素 1.块级元素 Block level element ,内联元素 inline element , HTML<div>元素属于块级元素,他是组合其他HTML元素的容器, ...