第三周学习

20165226 2017-2018-3 《Java程序设计》第3周学习总结

教材学习内容总结

主要学习了第四章 类与对象


  • - 包括两部分:类声明和类体
class 类名 {
类体内容
}
  • 成员变量、局部变量局部变量只在方法内有效。如果局部变量的名字与成员变量的名字相同,那么成员变量被隐藏,即该成员变量在这个方法内暂时失效
  • import语句
    一个类想要使用的类和它不在一个包里时可以用import语句使用这样的类 import java.util.*;
  • JRE扩展与jar文件
    需要编写一个压缩的文件
Manifest-Version: 1.0
Class: moon.star.TestOne moon.star.TestTwo
Created-By: 1.8

使用jar命令生成一个jar文件需要进入报名的上一层目录

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

  • 问题一:不懂如何理解执行到这的时候:Student s=new Student;类的成员变量都还没定义呢,怎么创建一个对象啊。还是说这个时候程序执行的顺序不是按照书写的顺序执行?

  • 问题一解决方案:首先Student s=new Student();
    这个Student()是一个类的构造函数,如果没有事先申明的话,那么当加载Student类的时候会自动生成,写的这个类,属性方法都没有初始化好,然后就来实例化该类,这样是会错误的,这个时候还不能调用Student()
  • 问题二:子类重新定义与父类完全相同的方法这种情况是什么情况?
  • 问题二解决方案:这种情况称为覆盖,此时,子类中已找不到父类原来的方法,它的内存位置已经被替代。
  • 问题三:什么是抽象类。
  • 问题三解决方案:在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
  • 问题四:抽象类一般什么时候用到,抽象类有什么好处?
  • 问题四解决方案:当有抽象方法时必须用到,抽象类可以包含方法的实现细节,因此可以将子类中公用的逻辑上提,增加的代码的复用。用抽象类及接口最重要的用处还是在于,使代码实现很方便的扩展,最简单的就是在new对象时,将生成对象定义为接口,在以后需要替换时就很方便。

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

  • 问题一:在用包语句时,分别javac 文件名无法通过编译

  • 问题一解决方案:将源文件保存到包目录,然后进入到包内的目录,输入javac *.java便迎刃而解了,在回到tomjiafei的上一层目录中运行,结果运行正常

  • 问题二:在进行jar文件打包时,无法复制到jrelibext文件夹中,提示权限不够

  • 问题二解决方案:提高用户的权限,使用以下代码

sudo chmod 777 xxxx/xxx/xxx/xxx

  • 问题三:已将Jerry.jar文件复制到Java运行环境中,但在Use类中使用import语句引入了Jerry.jar中的TestOne和TestTwo类,编译仍出现了问题

代码托管

上周考试错题总结

  • 错题

主要是在循环体中要区别--ii--,并且要在i-1赋值给i后将此时的值作为i的值进行下一项计算。

结对及互评

  • 博客中值得学习的或问题:

    • 要素全面
    • 排版简洁明了
  • 代码中值得学习的或问题:

    • 认真

其他

Java的学习是一个循序渐进的过程,再不断地获取新知识中也在不断地打开新视野。虽然这章的代码有些多且长,但在敲代码的过程中,在不断地编译、修改再编译的调试中收获了一份更加平和的学习心态。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第三周 866/500 1/4 18/38

参考资料

原文地址:https://www.cnblogs.com/musea/p/8577219.html