20175204 张湲祯 2018-2019-2《Java程序设计》第三周学习总结
教材学习内容总结
-第四章类与对象要点:
-面向对象语言三个特性:封装性;继承;多态;
-类:1.类是组成Java源文件的基本元素,一个源文件是由若干个类组成的。
2.关键词: class:定义类;new:新建一个对象(实例)
3.只要有一个类定义,编译程序就会产生一个.class文档。
4.标准类的使用:java.util.Scanner:在“命令提示符”模式下取得用户输入。
5.使用new关键词指定长度建立数组。
6.如果类的名字是斜体字形,表明该类是抽象类。
-构造方法与对象的创建:
1.创建对象:使用new运算符和类的构造方法为声明的对象分配变量。
-实例成员与类成员:
1.对于类中的类方法可以直接通过类名调用,实例方法不能通过类名调用,只能由对象来调用。
2.对于static方法,不用创建对象就可以用类名直接调用。
3.Arrays类在java.util包中,只需要使用important语句引入该类。
-this关键字:
1.this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象。
2.当实例成员变量的名字和局部变量的名字相同时,成员变量前面的“this.”或“类名.”就不可以省略。
-教材学习中的问题和解决过程:
-1.问题: 在运行带包代码文件时,无法正确编译。
解决方案:1.通过网上搜索得知,在src下编写java文件后,程序中带有包名,编译应该在src目录下使用命令javac -d . 文件名.java
2. 这里在当前目录会生成一个包名目录,里面就是文件名.class 文件
3.运行的时候命令:java 包名.文件名
-2.问题:java语言类库中的包是如何使用的?
解决方案:通过网上搜索得知类库中的包需要用import作为接口来使用。而在作业中学习到的java.util包该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
-代码调试中的问题和解决过程:
-1.问题:在运行第四章第15个例子时,一开始编译时找不到java文件,再次编译时显示不可映射字符。
解决方案:1.一开始找不到java文件,是自己直接在src目录下创建了tom,jiafei文件夹。第二次直接在src目录下编写java文件,通过javac -d . 文件名.java
直接编译,后在src目录下出现tom文件夹,还有其子文件夹jiafei,然后开始运行。
2.显示不可映射字符,但是在第二次编写时手打字符后可以编译。(不是很清楚为什么,网上查阅后发现Linux下为UTF-8编码,Windows下为GBK编码,可能是复制时出现问题)
-2.问题:在运行第四章第24个例子时,一开始将五个java文件各自编写后编译主程序文件可以运行;第二次将所有代码放入主程序文件中显示需要class,interface。无法编译成功。
解决方案:将除了主程序外的所有public删去,将import放到首行。
-代码托管(https://gitee.com/zyzgl/zyz)
-错题解析
下列程序的运行结果为:
int i=10;
do {
i/=2;
} while( --i > 1 );
System.out.println(i);
A .1 B .5 C .2 D .-1
应选A 。 因为--i 是i先自减1,10/2=5,5-1=4,4/2=2,2-1=1,输出1
-其他
通过完成第四章代码编译运行,发现本周的学习内容难度明显增加,发现从第四章开始,学习了很多新的知识点与概念,例如面向对象,方法,类等知识都比较抽象不好理解,在编写时也主要是通过书上代码搬写到电脑上,只有遇到编译失败或者错误时会网上搜索解决办法,在事后理解时对一些抽象概念理解较为困难,只能再次通过网上搜索和班课中的视频资源学习。但还是感觉自己能力欠缺,还需要努力学习,遇到不懂的就进行查阅。