课中:
实验课:
-
接口中的方法全是抽象方法(没有方法体)。
-
抽象类和接口都不可以创建对象,但它的子类可以。
-
父类的引用指向子类的对象。
-
子类构造器默认先调用父类构造器(相当于super();加或不加都可以),super.f()调用父类对象的普通方法。
-
静态初始化代码块比构造器还要早。
-
组合和继承都是类的复用。
-
方法的重写:
(1)“==”:方法名,形参列表相同。
(2)“<=”:返回值类型和声明异常类型,子类小于等于父类。
(3)“>=”:访问权限,子类大于等于父类。 -
object类(ctrl+点击)可查看原码;Object类中定义有:public boolean equals(Object obj)方法,提供定义“对象内容相等”的逻辑。
-
多态指的是同一方法的调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。
-
多态的要点:
(1)多态是方法的多态,不是属性的多态(多态与属性无关)。
(2)多态的存在要有3个必要条件:继承,方法重写,父类引用指向子类对象。
(3)父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。 -
组合和继承都允许在新的类中放置子对象,组合是显示地这样做,而集成是隐式地做。
-
自动向上转型:
Animal d = new Dog();//自动向上转型(Animal是Dog的父类)
Dog d2 = (Dog)d;//强制向下转型
实验课:
这节课主要讲的是异常,然后try catch语句也可以不用我们写,有快捷键可以用,并且,可以在出错的地方复制异常类型。
try {
a = cin.nextInt();
b = cin.nextInt();
System.out.println(a+b);
break;
} catch (InputMismatchException e) {
// TODO Auto-generated catch block
System.out.println("您输入的不是整数,请重新输入!");
cin.next();
}
放入try语句中的是可能会出现异常的语句。
预习:
- 再论向上转型。
- 转机:方法调用绑定,缺陷:“覆盖”私有方法。
- 构造器和多态:构造器的调用顺序,继承和清理。构造器内部的堕胎方法的行为。
- 协变返回类型
- 用继承进行设计:纯继承与扩展,向下转型与运行时类型识别。
小结:
在这周的学习中,我更加了解了接口的性质以及用法,以及继承中父类和子类构造器的调用顺序。同时,我知道了怎么重写方法以及它的作用,多态的概念,初步了解了向上转型。实验课上老师讲的异常我觉得对我现在来说还是有点难,希望通过做作业和后面看老师的讲解能够更了解一些。