课中:
理论课:
- 所有条件语句都利用条件表达式的真或假来执行路径。
- Java不允许我们将一个数字作为布尔值使用。
- Java里唯一用到逗号操作符的地方就是for循环的控制表达式。
- foreach语法表示不必创建int变量去对有访问项构成的序列进行计数,foreach将自动产生每一项。
- return关键词有两方面的用途:一方面指定一个方法返回什么值(即使它没有void返回值),另一方面它会导致当前的方法退出,并返回那个值。
- bieak强行退出循环,不执行循环中剩余的语句。而continue则停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。
- Java会在用户有能力操作对象之前自动调用相应的构造器,从而保证了初始化的进行。
- 构造器的名称必须与类名完全相同,无返回值类型。不接受任何参数的构造器叫做默认构造器。初始化和创建捆绑在一起,两者不能分离。
- 对象初始化:
dog d;
d = new dog();
System.out.println(d);
成员初始化:默认初始化为0。
对数组进行初始化:
nt []a = new int [20];
int []b = {32,1134,24,32};
- 只有返回值或者参数名称不同,不会构成方法重载;每个重载的方法都必须有一个独一无二的参数类型列表。
- 如果传入的实际参数较大,就得通过类型转换来执行窄化转换。反之进行扩展转换。
- this关键字创建好对象的地址。
三种用法:
①
this.s = s;
②
public void xxx(){
}
public void ddd(){
this.xxx();//此处可省略this
}
③
public bird(){
this("abc");
}
public bird(String name){
this();//此处指的是第一个构造器
this.name = name ;
}
- ArrayList是一个容器类型。
实验课:
老师给我们讲解了上次作业的题目:
第三题:
添加一个名为transactions的ArrayList类型的新数据域。
private ArrayList<Transaction>transactions = new ArrayList<Transaction>();
修改withdraw和deposit方法,向transactions数组线性表添加一笔交易。
public void withDraw(double money) {
if (balance >= money) {
balance -= money;
transactions.add(new Transaction('w',money,balance,"一号员工"));
} else {
System.out.println("余额不足!");
}
}
public void deposit(double money) {
balance += money;
}
第四题:设计一个测试类Test类,采用多态的工作原理分别输出“学生的工作是帮助老师参与学校的学生管理工作,提高综合素质”和输出“雇员工作是为了养活自己和家人”。
public static void main(String[] args) {
Student a = new Student("张山",18,"江西","12345677893");
Employee b = new Employee("李四",19,"广东","23456778931");
a.work();
b.work();
}
预习:
- 成员初始化
- 构造器初始化
- 数组初始化
- 包:库单元
- Java访问权限修饰词
- 接口和实现
- 类的权限访限
总结:
这周的学习状态相比于前面几周要好一点,理论课的知识也掌握了挺多的,实验课老师的讲解解答了我上一周的疑惑,但是第六周的作业接口这个暂时还没搞懂,尤其是第四题的两个接口,我不是很能理解,但我发现Java不能多重继承,只能间接多重继承。至于接口的问题希望下周能通过百度或者老师讲解理解。