20165336 2016-2017-2 《Java程序设计》第三周学习总结
教材学习内容总结
- 类名使用拉丁字母那么名字的首字母使用大写字母。每个单词的首字母应该大写。
- 成员变量在整个类内都有效,其有效性于他在类体中书写的先后位置无关。
- 局部变量只在方法内有效,而且与其声明的位置有关。
- 成员变量默认值为0,局部变量没有默认值。
- 构造方法的名字必须与他所在的类的名字完全相同,而且没有类型。允许在一个类中编写若干个构造方法,但必须保证他们的参数不同。
- 方法重载的意思是:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。两个方法的参数不同是只满足下列之一,一是参数的个数不同,二是参数个数相同,但参数列表中对应的某个参数的类型不同。
- 方法的返回类型和参数的名字不参与比较,也就是说,如果两个方法的名字相同,即使返回类型不同,也必须保证参数不同。
- 避免重载出现歧义
- 运行有包名的主类注意目录去运行
- 都是无包名而且在同一个文件夹下的类就可以互相使用,无包名类也可以使用import语句来使用有包名的类,但是有包名的类无论如何也无法使用无包名得类。
- 可变参数:可以使用“...”代替若干个参数,形如“public void f(int ... x)”。
教材学习中的问题和解决过程
- 问题1:成员变量、局部变量、实例变量、类变量、实例方法、类方法的区别
- 问题1解决方案:经过翻书上网查找总结如下。
成员变量:
在类体里面定义的变量叫做成员变量;
如果在变量有static关键字修饰,就叫作静态变量或类变量;
如果该变量没有static关键字修饰,就叫作非静态变量或实例变量;
局部变量:
方法内定义的变量、形参、代码块中定义的变量都叫做局部变量;
实例方法是必须创建了一个类的实例之后才能调用的方法 属于一个特定的实例 调用方法为 实例名.方法名();
类方法是属于一个类的 是类的静态方法。可以一用类字节调用 ;调用方法是 类名.方法名();
类方法主要用于工具类的方法。
- 问题2:Java对“同一个包中的理解”
- 问题2解决方案:java中同包,是指完全相同,不是上级包下级的关系修饰中的同包也是这个意思
代码调试中的问题和解决过程
- 问题1:在Java运行环境的扩展中需要将jerry.jar文件存放在JDK安装目录下的jre/lib/ext文件夹中,然而我在文件夹下未发现ext文件夹。
- 问题1解决方案(未解决):jdk\\jre\\lib\\ext 是jvm加载的扩展类库。经过网络查找未找到真正解决问题的答案,自我认为应该是版本的原因导致文件夹变更了,准备从一些.jar的文件夹开始查找哪一个是扩展类文件夹。
- 问题2:从windows上用记事本再用git bash上传到码云的代码,用ubuntu中git clone到虚拟机编译过程中中文字都为乱码编译不识别。
- 问题2解决方案(未解决):经过查找资料与调试,发现在虚拟机中将设置调为UTF-8或GBK时只能解决运行时中文字符的问题但其他中文路径,中文文件又会出现乱码,目前没找到可行的方法。
上周考试错题总结
- 错题重点:
- switch语句中注意只有在case语句全未符合条件才会执行default语句,如果case语句中符合条件将不会执行default语句后面的内容,但满足case语句如果未遇到break或continue,将会继续执行case后的其他语句。
代码托管
(statistics.sh脚本的运行结果截图)