• 《移动平台开发与实践》第二周学习总结


    20169214 2016-2017-2 《移动平台开发与实践》第二周学习总结

    教材学习内容总结

    第四章要点:

    • 要点1:类的三要素:类名、字段、方法。类名的首字母要大写;字段和方法名遵循骆驼命名法,即每个单词的首字母大写,除了第一个单词之外。例如:receiveSalary(),work()
    • 要点2:一个公有类的定义必须保存在一个文件中,且文件名与类名相同,且必须以.java为扩展名。并且,一个源文件只能包括一个public类,但可以包含多个非公有类。
    • 要点3:应用程序的入口点——main方法;
      允许有可变长度的参数列表——vararg(当参数列表包含固定和可变参数时,可变放后边);
      使其值不可以修改的关键字——final;
      创建对象最常用的方法——new;
      使用其他包或该包的类,需要关键字——import,import语句必须放在package语句之后、类声明之前;在一个类种,import语句可以出现多次;
      定义静态成员关键字——static,静态成员不用先实例化就可以被调用。另外,只能在一个类级别中声明一个静态变量,即便方法是静态的,也不能声明局部静态变量。
    • 要点4:让多个函数具有相同的名字,在java中是合法的。——方法重载
    • 要点5:JVM包括加载、连接、初始化,这些过程均为递归地进行,即先处理父类,才能处理子类。

    第七章要点:

    • 继承是的代码具有可扩展性,在Java中,所有类都默认的继承了java.lang.Object类。扩展一个类的关键字——extends,在Java中,一个类只能够扩展一个类,与C++中允许多继承不同。但是,在Java中使用接口也能实现多继承的效果。

    第十章要点:

    • 类、接口、抽象类之间的关系:接口并不只是一个没有实现的类,而是服务提供者及客户之间的一个协议;抽象类是一个不能实例化的类,在某些情况下,它扮演了接口的角色,但又可以提供某些方法的实现。

    第十一章要点:

    • 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
    • 面向对象有三大几属性,可以说,封装和继承都是为多态做准备。

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

    • 问题1:从一个静态方法中调用非静态成员

      编译运行时会出现以下错误:

      原因:main的静态方法中无法访问非静态的字段。
    • 解决方法:有两种:一是让b成为静态的,修改如下:

      二是创建该类的一个实例,然后使用对象引用对b进行访问。
      再次运行后,显示正确结果,如下:
    • 问题2:变量作用域

      编译运行后会出现以下错误提示:

      原因:变量y定义于内层for循序语句中,所以y只能够在内层for语句块中使用。而在其他地方,y都是无法访问或不可见的。当JVM执行内层for语句时,同时创建x,内层for语句执行完后,x便被销毁,之后x便超出了其作用域。
    • 解决方法
      正确使用变量作用域:

      运行结果正确显示:

      说明:该代码段说明两点:一、内层的for语句块可以访问外层定义的x。x的正确输出可以证明这一点;二、for语句块可以访问循环语句块外部(之前)定义的变量。y+a的正确输出可以证明这一点。
    • 问题3:隐式地调用父类中不存在的构造方法

      这将会导致一个编译错误。因为编译器添加了对Parent中的无参构造方法的一个隐式调用,而Parent类只有一个构造方法,它接受一个Srting参数。

    • 解决方法:通过从Child类的构造方法中显示地调用父类的构造方法,如下:

    • 问题4:当程序编译出现问题时,错误提示会显示混乱,如下:

    代码托管

    • 项目链接:
      http://git.oschina.net/md2017/yj20169214
    • 代码提交过程截图:
      运行git log --pretty=format:"%h - %an, %cd : %s":
    • 代码量截图:
      运行find src -name “*.java” | xargs cat | grep -v ^$ | wc -l:
      (因项目提交出现了问题,代码量没能正常显示。尝试了linux、Windows两种环境下写Java代码,并且Windows环境中尝试了git下编辑器直接写和记事本转.java两种方式,但目前均未正确显示代码量。在Linux下重新添加little.sh脚本并运行,代码量及代码提交信息得以全部显示出来,如下:)

    上周考试错题整理

    • javac,java命令找不到,是由于PATH环境变量设置错误
    • git init——git库初始化,在某文件夹下执行就是执行该文件夹
      git push——将本地分支更新,并推送至远程主机
      git log——查看提交历史
    • Java中没有“0为假,1为真”的说法,只有TRUE和FALSE
    • Java中一个字符占两个字节
    • Java中没有goto,可在外层循环设置一个标签break,实现跳转

    学习进度条

    • 教材学习:教材4/7/10/11,共4章
    • 博客量(新增/累积):1/2
    • 重要成长:了解了java的对象、类,以及继承、多态等面向对象特点

    参考资料

    《Java和Android开发学习指南(第二版)(Java forAndroid.2nd)》第4、7、10,11章
    《Java程序设计和Android开发》课程
    使用码云和博客园学习简易教程

  • 相关阅读:
    (摘)Zebra打印机异常处理
    (摘)Chart Y轴设置为百分比
    关于ZFS、GPT、4K、Geom Label的一些说明
    (转)ASP.NET性能优化之分布式Session
    (转)WebService的事务处理
    SqlSever分页查询,仅扫描一次表
    (转)对.net系统架构改造的一点经验和教训
    字典树
    Ajax
    Lunix 命令
  • 原文地址:https://www.cnblogs.com/yaojingjing/p/6536782.html
Copyright © 2020-2023  润新知