类继承相关信息

内容引用自:https://blog.csdn.net/scyatcs/article/details/73250319 

继承,就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法的方式,产生一个新的类型。

我们在使用java时编写的每一个类都是在继承,因为在java语言 中,java.lang.object类是所有类最根本的基类(或者叫父类、超类),如果我们新定义的一个类没有明确地指定继承自哪个基类,那么java 就会默认为它是继承自object类的。

把java中的类分为以下三种:

1. 普通类:使用class定义且不含有抽象方法的类。

2. 抽象类:使用abstract class定义的类,它可以含有,也可以不含有抽象方法。

3. 接口类:使用interface定义的类。

在这三种类型之间存在下面的继承规律:

1.普通类可以继承(extends)普通类,可以继承(extends)抽象类,可以继承(implements)接口。

2.抽象类可以继承(extends)普通类,可以继承(extends)抽象类,可以继承(implements)接口。

3.接口只能继承(extends)接口。

 

类不能被继承有两种情况:

一、如果类被final修饰,那么此类不可以被继承;

二、如果类中只有private的构造方法,那么此类不可以被继承。

     其原因在于:

一个类一定会有构造函数,如果不写,那就是默认的无参构造函数,如果写,就只有所写的构造函数。

子类的构造函数一定会调用父类的构造函数,但是如果父类中只有私有的构造方法,那么子类就无法调用父类,就会有问题。

 

posted @ 2019-07-31 15:39  Huangmoumou  阅读(271)  评论(0编辑  收藏  举报