回顾
1.所有类的根类是?我们需要做什么?
Object
重写方法: *****toString(),***equals()& hashCode(),finalize()
2.当我们的类不希望被继承时,怎么做 public final class最终类,密封类
当我们的方法不希望被子类重写,怎么做 public final 返回类型 方法名(){}
3.虚方法和抽象的相同点和不同点
4.抽象方法可以声明为final 吗?
不能,abstract必须通过继承和重写才能实现
final:不能重写
相悖的,
抽象方法可以声明为static 吗?
不可以的
原因:
(1)抽象方法主要是为子类去声明的方法,要求子类的行为,
静态他不需要继承,更不需要对象,
是在类创建时就已经完成的代码段
(2)静态对于子类而言,是直接用的,所以会直接继承下去,完善的功能点
构造方法可以是静态吗?
不能,静态和对象无关
课程内容-接口
1.什么是接口
2.如何声明接口
3.使用接口
3.1 使用我们自己的接口
3.2 使用Java API来按钮的点击
4.接口的继承
5.规范接口
6.常用的接口
1.什么是接口?
1.1 作用:
1.约束实现类的功能
2.弥补Java单一继承的不足
1.2 接口是一种引用类型,和类的区别在于
接口不受类型的限制,不注重种族关系,注重行为
继承关系: 动物:猫 ,狗 ,青蛙 ,小鸟
接口关系:注重功能: 小鸟和飞机有共同点(相同的功能)
名字: 动词+able:
引用类型: 数组,类,接口
1.3 一个类可以实现多个接口
1.4 特点:
a.接口不能new对象
b.接口中的方法都是抽象方法,但是不需要写抽象
c.接口中的属性是静态常量,不能修改
d.实现接口的类必须重写所有的抽象方法,如果无法实现,
那么这个类将作为抽象类
2.如何声明接口
public interface 接口名{
//属性
//方法
}
3.如何实现接口
public class xxx extends 父类 implements 接口1,接口2{
}
3.1 LSP
Collectable c = new Teacher(“陈老师”,30,Person.FEMALE,“JavaSe”,5,10000);
编译类型 Collectable
直接调用的是在Collectable中声明的:SPEED ,collectHomeWork
运行时类型 Teacher
实际上c中包含了Person类声明的方法及Teacher声明的方法
3.2 instanceof