【Java基础知识总结】继承知识思维导图(一)类、父类、子类

继承(一) 类、父类、子类

首先列举出重要知识点导图:
在这里插入图片描述

1.关键字:extends

在Java继承中,使用的关键字就是extend,直接在子类后加上extends再加上父类的名称
子类就会拥有父类所拥有的属性与方法。

class A {
	...
}
class B extends A{
	...
}

注意,继承只能是单继承!!
另外,Java中的继承都是公有继承

2.覆写方法

如果⼦类定义了与⽗类相同的⽅法或属性的时候,这样的操作就称为覆写(override)
在子类中可以增加域、增加方法或覆盖父类的方法,但不可以删除继承而来的任何域和方法。
这里注意区别重载和覆写:
①⽅法的重载:同⼀个⽅法名称可以根据参数的类型或个数不同调⽤不同的⽅法体
②⽅法的覆写:同⼀个⽗类的⽅法,可能根据实例化⼦类的不同也有不同的实现。

这时,如果在子类中调用此方法或属性,就会调用子类中的,如果想调用父类中的方法和属性就要使用super关键字

class A {
	A();
	A(int a)
}
class B extends A{
	super(a);
}

如果子类的构造器没有显式地调用超类的构造器, 则将自动地调用超类默认(没有参数 )的构造器。 如果超类没有不带参数的构造器,
并且在子类的构造器中又没有显式地调用超类 的其他构造器’ 则 Java 编译器将报告错误。

super关键字有两个用途:

  1. 调用父类的方法时使用的关键字
  2. 调用父类的构造函数 (使用时必须放到该构造函数的第一行)

有些人认为 super 与 this 引用是类似的概念, 实际上,这样比较并不太恰当。这是因为 super 不是一个对象的引用, 不能将 super 赋给另一个对象变量, 它只是一个指示编
译器调用超类方法的特殊关键字

3.多态

一个对象变量可以指示多种实际类型的现象被称为多态( polymorphism)

在继承后,可以用父类的引用指向子类的对象,此时可以访问该对象父类的方法和属性,但不可以将子类的引用指向父类,此时子类引用可能会访问父类对象中并没有的方法和属性。

4.final关键字

当希望某个类不能被继承时,使用final关键字
如果final修饰类,就表明这个类是不可以被继承的。
如果final修饰属性,就表明这个属性值是不允许修改的。

不过如果将一个类声明为final那么只有其中的方法自动变成final,不包括域。
上次提到的String类就是一个final类,可以确保只要是一个String的用,它一定指向的是一个String类型的对象。

5.抽象类 abstract

在一层层的继承下,位于最上层的类是最具有通用性的,包含着子类都共同有的方法,但由于每个子类对不同方法实现不同,对于最上层的父类而言,就需要只声明出方法而把实现交给子类。
使用abstract关键字修饰的类就是抽象类,使用abstract修饰的方法就是抽象方法。建议尽量将通用的域和方法(不管是否是抽象的)放在超类(不管是否是抽象类)中。
**抽象类不能被实例化!
**

6.访问权限

  1. 仅对本类可见 ——private
  2. 对所有类可见—— public
  3. 对本包和所有子类可见 ——protected。
  4. 对本包可见——默认,不需要修饰符。
发布了62 篇原创文章 · 获赞 28 · 访问量 6076

猜你喜欢

转载自blog.csdn.net/Moo_Lavender/article/details/102757248