开始学习java,这是我遇见的不懂的问题,把自己的学习结果写下来,不足之处还望指点。
1、extends关键字:
C++继承方法:
class 派生类名:[继承方式] 基类名{
派生类新增加的成员
};
继承方式限定了基类成员在派生类中的访问权限,包括 public(公有的)、private(私有的)和 protected(受保护的)。此项是可选项,如果不写,默认为 private(成员变量和成员函数默认也是 private)。
java继承方法:
public class 派生类名 extends 基类名{
派生类新增加的成员
};
2、implements关键字:
C++多继承:
class 派生类名:[继承方式1] 基类名1, [继承方式2] 基类名2,…
{
派生类新增加的成员
};
java接口:
java不支持多继承,Java是不允许“实现多继承”,简称不允许“多继承”。但是Java支持“声明多继承”——Java的接口的多继承——一个类可以实现多个接口(“继承”了多个接口上的方法声明),而一个接口可以继承多个接口(同样是“继承”了多个接口上的方法声明)。
接口只允许有方法声明而不允许有实现,避免了多继承过程中会出现的一些问题,个人感觉就是java把程序员可能犯的错误规避了。
class 类名 implements 接口1, 接口2, 接口3....{
}
3、extends和implements同时应用:
class 派生类名 extends 基类名 implements 接口{
}
为什么extends在implements前面?
在网上看见一个很有趣的比喻,侵删:
A implements C 就像是一个小孩A认了个干爹C
A extends B 就像是B是A的亲爹
所以说同时使用implements 和extends关键字的时候,必须先写extends后写implements,
毕竟亲爹比干爹亲