栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

抽象类和接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

抽象类和接口

抽象类是什么?

一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类!

抽象类不能创建实例,它只能作为父类被继承。

抽象类如何实例化呢?参照多态的方式,通过子类对象实例化,这叫抽象类多态

抽象类的子类 要么重写抽象类中的所有抽象方法, 要么是抽象类

抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类

抽象类的成员特点

成员变量

既可以是变量

也可以是常量

构造方法

有构造方法,但是不能被实例化

抽象类的构造方法主要是用于子类访问父类数据的初始化

成员方法

可以有抽象方法,但只能做声明,不能实现,要实现必须用派生类实现

也可以有抽象方法,能提高代码的复用性


接口

接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。

Java中的接口更多的体现在对行为的抽象!

接口用关键字interface修饰

public interface 接口名 {} 

类实现接口用implements表示

public class 类名 implements 接口名 {}

在接口的子类中要么重写接口中的所有抽象方法,要么子类也是抽象类

接口成员特点

成员变量只能是常量,默认修饰符用public static final

接口没有构造方法

接口的成员方法只能是抽象方法,默认的修饰符是public abstract

类与接口的区别

共同点:

都可以被继承

都不能被实例化

派生类必须实现未实现的方法

区别:

抽象类只做方法声明,不做实现

派生类必须覆盖抽象方法

接口可以多重实现,抽象只能单一继承

抽象可以包含静态方法,接口没有

抽象类中可以有普通成员变量,接口没有

抽象类可以有构造方法,接口没有。

参数传递

类名作为方法的形参

方法的形参是类名,其实需要的是该类的对象

实际传递的是该对象的【地址值】

类名作为方法的返回值

方法的返回值是类名,其实返回的是该类的对象

实际传递的,也是该对象的【地址值】

抽象类作为形参和返回值

方法的形参是抽象类名,其实需要的是该抽象类的子类对象

方法的返回值是抽象类名,其实返回的是该抽象类的子类对象

接口作为形参和返回值

方法的形参是接口名,其实需要的是该接口的实现类对象

方法的返回值是接口名,其实返回的是该接口的实现类对象

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770703.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号