JAVA--抽象类接口

本文探讨了Java中的抽象类和接口。抽象类主要用于继承,虽然不能实例化但可以有构造器供子类调用。接口则提供多实现,强制子类重写所有方法,可以声明final static成员变量。抽象类和接口的使用解决了Java单继承限制,提高了代码灵活性。
摘要由CSDN通过智能技术生成

抽象类

抽象类规则

1、抽象类只需要在class前 添加 abstract-----public abstract class Haha {}

2 、抽象类不能new对象

3 、抽象类有构造函数 【抽象类能被其他类所继承 子类的构造函数第一句代码 super() 】

4 、抽象类可以有 成员变量 静态变量 普通函数 抽象函数 。并且抽象类也能被其他类继承 也能继承其他类。

5 、抽象函数就是在函数的返回值前面添加 abstract------public abstract void eat();

6 、抽象函数不写,也不能写函数体

7 、抽象函数必须在抽象类中 抽象类中不一定有抽象函数

8 、抽象函数子类必须重写

问题:抽象类中有构造器,但是抽象类不可以被创建对象,已经抽象类了既然不能new对象那为啥还要有个构造器?

抽象类是干嘛使得,当然是用于继承了虽然抽象类不可以创建对象,但是父类中可以有成员变量、那么构造器就可以重载使用这一成员变量,当子类继承父类的时候就可以在子类的构造器中通过使用super(成员变量)进行父类的调用,进而使用到父类的构造方法。不写的话就会调用默认的空参构造器super()。

子类为什么会掉用父类的构造器,是因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程。

接口类

规则:

1、接口没有构造器,不可以new接口,new直接报红

2、实现接口后要重写其中所有的方法,不写直接报红

3、不想实现接口的所有方法,可以将自己的实现类声明为abstract类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值