1.继承
- java 只有单继承 关键字:extends
class A{}//父类
class B extends class A{}//子类B继承了A类
2.继承权限
-
相较于C++ 的public,protected, private,java对不写继承的default的定义不一样:
- c++ default = private
- Java不写则默认是 default,是一个新的权限, 所以 Java 有四种 public,protected, private,default。
-
default :包访问权限
默认访问权限没有关键字,通常被称为包访问权限 (packageaccess) (有时也称为friendly)。- 这意味着当前包中的所有其他类都可以访问那个成员。对于这个包之外的类,这个成员看上去是private 的。
- 由于一个编译单元(即一个文件)只能隶属于一个包,所以通过包访问权限,位于同一编译单元中的所有类彼此之间都是可访问的。包访问权限可以把相关类聚到一个包下,以便它们能轻易地相互访问。
3. Object类
Java 中所有类都会继承Object类,无论程序中有没有显式写明这种继承关系。有点像JS对象中的原型prototype的prototype即Object。
4. Super关键字
加了super 关键字后 同名 属性 或者 方法 直接直接指向 父类
class Person{
String name;
}
Class Man extends Person{
String name;
void showName(String name){
System.out,println(name);//指向形参name
System.out.println(this.name);//指向当前实例 Person 中的name
System.out.println(super.name);//指向父类Person的name
}
}
5. this()与super()
this()是当前类的构造器,有参构造或者无参构造
super()是父类的构造器,有参构造或者无参构造
- super()和this()都要求放在方法体中的第一行否则报错,所以这两者不能共存
6.多继承
- java 的类没有多继承,只有单继承
- java 的接口可以多继承