20155207王雪纯 2006-2007-2 《Java程序设计》第1 周学习总结

教材学习内容总结

第一周重点学习第一章和第二章。
第一章总的来讲,我认为可以称之为本书的绪论,介绍了包括JAVA名字的由来等历史背景、JAVA的三大平台,在我们JAVA学习中则重点学习JAVA的JAVA SE平台,JAVA SE是JAVA平台标准版的简称,以及需要安装的JDK和API基本类库。同时对于一些重点我也进行了较为详细的学习。

了解JAVA的历史
为什么需要JAVA程序设计语言

JAVA一开始为了消费性数字产品设计,1993年第一个全球信息网浏览器Mosaic诞生,James Gosling认为因特网与JAVA的一些特性不谋而合,利用JAVA Applet在浏览器上展现互动性媒体,立即引起了许多人的注意。JAVA跨平台的特性是的他一跃成为当今最流行的程序设计语言。

JCP与JSR、RI、TCK的关系

JSR必须经过JCP投票通过才能成为最终的标准文件,JSR成为最终文件后对其成果做出免费且开发原始码的参考实现,称为RI,由TCK作为技术兼容测试工具箱。

Oracle JDK与Open JDK

OpenJDK是Sun在2006年末把Java开源而形成的项目,Oracle JDK采用了商业实现,而OpenJDK使用的是开源的FreeType。Oracle JDK中还会存在一些Open JDK没有的、商用闭源的功能。但那实际上,现如今使用的OpenJDK 7和Oracle JDK 7在程序上是非常接近的,两者共用了大量相同的代码,所以我们编译的OpenJDK,基本上可以认为性能、功能和执行逻辑上都和官方的Oracle JDK是一致的。

JAVA学习路径
JVM/JRE/JDK
面向对象技术——继承、封装和多态

封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个单元(类)中。被封装的对象被称为抽象数据类型。封装的意义在于保护代码或数据免受我们无意中的破环,保护数据不被其他使用该数据的函数意外的修改。

继承主要实现重用代码,节省开发时间。根据我的理解我想举个例子来说明继承是什么,但是否正确还请老师为我评判。大一的两个学期我们都学了高数,上学期由A老师教,下学期由B老师教。B老师就是A老师的继承。

多态是统一操作作用于不用的对象,可以有不同的解释,产生不同的执行结果。多态存在于编译和运行中。编译时的多态为我们提供了运行速度快的特点,而运行时的多态则带来了高度灵活和抽象的特点。

区别JRE和JDK

一句话总结两者的区别就是JDK用于撰写JAVA,JRE用于执行JAVA。
但通常我们下载的JDK本身都附带Private JRE。

JAVA——从Hello World开始

在windows系统下,我开始了‘Hello World!’

按照书上的步骤下载安装JDK后,进行设置pass变量

然后把新建的JDK的位置地址复制过来

就能实现‘Hello World!’了

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

  • 第三章:Java编程中如何区分常量和变量?

常量即保持常态的量,例如定义:final int a=1;则a此时为常量。变量,也就是可变的量,例如定义int a;则a此时为变量。

  • 注:String的意义:String不属于8中基本数据类型,String是一个对象。由于对象的默认值是null,所以String的默认值是null。new String()和new String("")都是申明一个新的空字符串,而不是null。

String str="hello"和String str=new String("hello")的区别:

String str = "hello": 如果内存中已经为hello字符串分配了内存,那么str指向hello内存对象的地址;
String str = new String("hello"); 内存中重新分配一片内存区域存放hello, 然后str指向hello,也就是内存中实际有2个hello对象,而且存放的地址不一样。

  • 第四章:为什么不能说类是JAVA语言中对对象的表示?

类的范围比较大,一个类可以只有方法而没有属性,而没有属性的类是不能称作对象的,比如对应人的动作可以有跑、跳、走等,这个表示属性的类就没有对象。

  • 第五章:JAVA中方法和封装有什么区别?

1、构造方法的参数用来创建对象时初始化变量,属性的封装可以用来设置属性的值,和获取属性的值。
2、构造方法是没有返回值的,而属性的封装是有返回值的。

  • 第六章:继承和多态有什么区别?

继承,子类继承父类中所以的属性和方法,但是对于private的属相和方法,由于这个是父类的隐私,所以子类虽然是继承了,但是没有可以访问这些属性和方法的引用,所以相当于没有继承到。很多时候,可以理解为,没有继承。

多态:就是父类引用可以持有子类对象。这时候只能调用父类中的方法,而子类中特有方法是无法访问的,因为这个时候(编译时)你把他看作父类对象的原因,但是到了运行的时候,编译器就会发现这个父类引用中原来是一个子类的对像,所以如果父类和子类中有相同的方法时,调用的会是子类中的方法,而不是父类的。

  • 第七章:接口的作用?

接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点

  • 第八章:什么是异常处理机制?

异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。

Java的异常分为两种,checked异常(编译时异常)和Runtime异常(运行时异常)。Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。

  • 第九章:collection和map是什么?

Collection是最基本的集合接口,一个Collection代表一组对象,即Collection的元素。

Map也是一个接口,提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。

  • 第十章:串流与输入/输出有什么关系?

JAVA是以串流的方式来处理输入和输出的,即是两者的衔接。

  • 第十一章:多线程与并行API有什么关系?

  • 第十二章:Lambda有什么作用?

使用Lambda设计的代码会更加简洁。当编写Lambda表达式时,也会随之被编译成一个函数式接口。

  • 第十三章:如何确定准确的时间与日期?

  • 第十四章:为什么要使用NIO?

NIO 的创建目的是为了让 Java 程序员可以实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度

  • 第十五章:如何调用API?

java发一个http请求过去,带上参数就可以了啊,跟我们在浏览器上访问资源是一样的 只是它返回的是json格式的数据而已

  • 第十六章:什么是JDBC?

JDBC是JAVA联机数据库的标准规范。具体而言,他定义一组标准类与接口,应用程序需要联机数据库时调用这组标准API。

  • 第十七章:什么是反射与类加载器?

反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息。

  • 第十八章:什么是泛型?

泛型,即“参数化类型”。参数化类型就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(形参),然后在使用/调用时传入具体的类型(实参)。

环境变量安装过程:

第一步:新建变量
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.7.0

第二步:新建变量
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;

第三步:编辑变量,找到变量名Path,点击编辑按钮,点击编辑文本按钮,在变量值首部添加 .;%JAVA_HOME%\bin;即可。

代码托管

  • 我在Linux和windows系统下分别按照学长和百度上的博客进行git的设置,但到了最后一步总会显示没有访问权限

然后尝试在cmd中输入老师给的命令

最后通过提问的方式,得知要在git bash中输入该命令并且在当前文件夹中有statistics文件的情况下

还是出现了访问限制的问题

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

最新文章

  1. Asp.net Mvc中分部视图获取后台数据并展示
  2. Java 使用GDAL 读写 shapefile
  3. Spring——jar包详解(转)
  4. RealProxy实现AOP编程(2)
  5. css3 操作动画要点
  6. Change ICON of MFC Application and Dialog
  7. Android超类
  8. JSP基础学习(二)
  9. day002-HTML知识点总结:浏览器兼容性之指定IE浏览器使用chrome内核渲染页面
  10. Django的信号机制
  11. Appium移动自动化测试(五)--app控件获取之uiautomatorviewer
  12. Sublime Text 3 安装 Package Control
  13. Javascript高级编程学习笔记(20)—— 创建对象
  14. Python带你轻松进行网页爬虫
  15. 04-接口隔离原则(ISP)
  16. 41. 包含min函数的栈
  17. javascript:currentStyle和getComputedStyle的兼容写法
  18. APT典型应用示例
  19. #C++初学记录(贪心算法#结构体#贪心算法)
  20. linux下精确替换某个字符串

热门文章

  1. memcached的操作
  2. (转)Win10下PostgreSQL10与PostGIS安装
  3. ZOJ-3279 Ants 树状数组 + 二分
  4. struct class 内存结构初探-内存模型顺序和变量的实际添加顺序一致
  5. 以整数元素构成的list中的数字组成最小整数
  6. Django重定向的写法、与直接渲染的区别
  7. 2016424王启元 Exp6信息搜集与漏洞扫描
  8. Dubbo实践(九)ExtensionFactory
  9. 开源Webshell利用工具——Altman
  10. 公司内网静态IP,外网无线动态IP 同时上网,不必再切换网卡啦 route 命令给你搞定。