Java公开课-02.抽象类和接口
在讲述抽象类和接口之前,扯点别的:封装,继承,多态,我只做个简单的涉略
一,封装
1.体现:
将变量和方法放到一个类中
私有字段封装成共有属性
2.this:
如果发现成员变量的名称和方法参数的名称相同,如何区分???
答:是否有this关键字做前缀区分,有this的,成员变量,没有this的,方法参数
3.封装价值:
可以保护私有字段,限制非法访问
二,继承
不介绍如何使用。讲点新颖的
1.体现:
extends修饰
2。继承关系下,构造的执行顺序
1)。首先由测试方法跳入子类方法名,不进入方法体
2)。跳入父类的方法名,紧接着进入父类构造方法的方法体
3)。父类构造方法体执行完毕时,说明父类对象已经构建完毕
4)。控制权再次交到子类构造的构造体内执行
5)。子类构造执行完毕,回到测试方法
6)。测试方法该代码执行完毕,创建出对象
三,多态
1.含义:
不同事物执行同一命令产生不同结果
2.依据:
里氏替换
四,抽象类
1.抽象类出现的价值
为了约束子类方法的格式,为了让子类可以灵活重写父类的 方法(抽象类的方法只有方法名,没有方法体)
2.抽象类的写法
由abstract修饰类名
3.抽象类可以有什么?抽象类和抽象方法的注意事项:
1)。抽象类中可以有非抽象成员
2)。抽象方法一定在抽象类中
3)。抽象类和抽象方法用abstract修饰
4)。抽象类不能实例化
5)。抽象类不能是静态类
6)。子类必须重写抽象父类的抽象方法,除非子类也是抽象类
7)。抽象方法不能有方法体,甚至连{}都不能有
五,接口
1.编程的进化史
机器语言
汇编 语言
面向过程的语言
面向对象的语言(可以说面向接口编程)
2.接口interface
3.接口中可以包含什么
抽象方法和静态常量
4.接口与类的区别:
接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
5.抽象类和接口的区别
抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
.一个类只能继承一个抽象类,而一个类却可以实现多个接口。
- 接口不是被类继承了,而是要被类实现。