本篇讲述了消息,多态与继承两种机制,抽象类接口与包.
重点内容
- 什么是消息?什么是公有消息和私有消息?
- 什么是多态机制?重载与覆盖有什么区别?
- 什么是继承机制?它的特征是什么?
- 什么是抽象类?使用时要注意哪些问题?
- 什么是接口?使用时要注意哪些问题?
- 什么是包?包的作用是哪些?
消息
消息就是属性与方法的引用.
当有一批消息同属于一个对象时,由外界发送给对象的消息称为公有消息;由对象发送给自身的消息称为私有消息,外界不必了解它.
多态机制
多态指同名而不同内容的方法共存的情况.
当在同一类中定义,称为重载.
当在父子类中定义,称为覆盖.
继承机制
继承使子类具有父类(超类,基类)的全部或部分的属性和方法.
继承提供了软件复用功能与多重继承(接口)机制.
属性的继承,方法的继承
属性的隐藏,方法的覆盖
this用来访问当前对象,super用来访问当前对象的直接父类对象.
抽象类
1.声明抽象类注意事项:
不能与final修饰一个类
2.定义抽象类注意事项:
抽象类的属性, 构造方法, 和非抽象方法与类相同;
抽象类的抽象方法前须修饰符;且只能修饰public.protected
3.类实现抽象方法注意事项:
必须实现构造方法和抽象方法
接口
1.定义接口注意事项:
接口的属性默认终静态;接口的所有方法是公共抽象方法.
无构造方法;
2.类实现接口注意事项:
方法必须显式使用public符.
代码演示
- 实现方法的重载.
- 实现方法的覆盖.
- 实现属性的隐藏.
- 实现抽象类, 多重继承机制.
方法重载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26public class C_name extends Parent_name{
int a = 4;
double add(double x) {
return x + 4;
}
public static void main(String[] args) {
Parent_name p = new Parent_name();
C_name c = new C_name();
//重载
System.out.println(p.add(2.3)+" "+p.add(2, 10));
// 依次为属性的继承, 属性的隐藏, 方法的继承, 方法的覆盖
System.out.println(p.a+" "+c.a+" "+p.add(2.3)+" "+c.add(2.3));
}
}
class Parent_name {
int a = 3;
double b = 5;
double add(double x) {
return x + 3;
}
int add(int x, int y) {
return x + y;
}抽象类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33//抽象类
abstract class Add_info {
int x, y;
Add_info(int x, int y) {
this.x = x;
this.y = y;
}
abstract double show_add();
}
//接口
interface Del_info { // 接口不能有构造方法
double show_del(); // 接口的方法自动为公共抽象方法
}
//继承抽象类与接口
class AddInt extends Add_info implements Del_info{ // 类必须实现继承的抽象方法
AddInt(int x, int y) {
super(x, y);
}
double show_add() {
return x + y;
}
public double show_del() { // 继承的接口方法必须是公共方法
return x - y;
}
}
public class C_name {
public static void main(String[] args) {
AddInt a = new AddInt(25, 25);
System.out.println(a.show_add()); // 消息就是属性或方法的引用
System.out.println(a.show_del());
}
}
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~