20145305 《Java程序设计》第3周学习总结

教材学习内容总结

1.“一类一文件”
2.参考名称与对象数据成员同名时,可以在数据成员前使用this区别
3.不能用直接比较浮点数运算结果
4.=是用在指定参考名称参考某个对象,
是用在比较两个参考名称是否参考同一对象
5.要比较字符串实际字符内容是否相同,不使用==,要使用equals()
6.使用+连接字符串会产生新的String实例,不要将+用在重复性的连接场合
7.取值方法的名称是固定的,以get开头,之后接上首字母大写的单词
8.this()代表了调用另一个构造函数
9.对象数据成员被声明为final,没有明确使用=指定值,表示延迟对象成员值的指定,在构造函数执行流程中一定要有指定值的动作,否则编译错误
10.被声明为static的成员,属于类,不会让个别对象拥有
11.首字母大写为类,通过类名称与“.”运算符存取就是static成员
12.在static方法或区块中不能出现this关键字,static方法中不能用非static数据或方法成员
13.使用不定长度自变量时,方法上声明的不定长度参数必须是参数列最后一个

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

P101页

package cc.openhome;

public class IrregularArray {
    public static void main(String[] args) {
        int[][] arr = new int[2][];
        arr[0] = new int[] {1, 2, 3, 4, 5};
        arr[1] = new int[] {1, 2, 3};
        for(int[] row : arr) {
            for(int value : row) {
                System.out.printf("%2d", value);
            }
            System.out.println();
        }
    }
}

代码中的int[2][]只提供了第一个数值,但是2是两个索引吗还是两个对象

P136页提到的编译程序在处理重载方法时,处理的顺序还不理解

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

P139页中Something(int x)版本的构造函数对final对象成员x设值,但用户调用了Something()版本的构造函数,x不会被设值,所以编译错误。为什么改为一下代码就可以通过编译

 class Something {
    final int x;
    Something(){
        this(10);
    }
    Something(int x){
    this.x=x;
    }
}

其他(感悟、思考等,可选)

感觉本周学习的都是JAVA核心的东西,有点难懂,书上好多代码都不是很懂

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时 基本掌握JAVA
第一周 200/200 1/2 20/20 了解基本的JAVA
第二周 250/450 2/4 20/40 了解基础语法
第三周 500/950 1/5 20/60 了解JAVA语法核心

参考资料

posted on 2016-03-19 13:29  20145305解佳玲  阅读(134)  评论(2编辑  收藏  举报