博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
总结接口与类和抽象类的关系
阅读量:6938 次
发布时间:2019-06-27

本文共 1388 字,大约阅读时间需要 4 分钟。

1.***接口

(1)成员特点:
成员变量
只能是常量 默认修饰符 public static final
构造方法
没有构造方法,因为接口主要是扩展功能的,而没有具体存在
成员方法
只能是抽象方法 默认修饰符 public abstract
2.***类与类,类与接口以及接口与接口的关系
类与类:单继承,多层次
public class A extends B{} public class B extends C{}

类与接口:多实现

public class A implements 接口1,接口2{}

接口与接口:多继承

public interface 接口1 extends 接口2,接口3{}

同时存在继承,实现:先继承,后实现 。

public class A extends 类 implements 接口1,接口2{}

3.***面试题:抽象类和接口的区别? / abstract class和interface的区别 ?

子类: 单一继承 多重实现
构造器: 抽象类可以有构造器 接口不能有构造器
与正常Java类的区别: 除了你不能实例化抽象类之外,它和普通Java类没有任何区别
接口是完全不同的类型 :
访问修饰符:抽象方法可以有public、protected和default这些修饰符 .
接口方法默认修饰符是public。你不可以使用其它修饰符。
main方法:抽象方法可以有main方法并且我们可以运行它
接口没有main方法,因此我们不能运行它。
多继承:抽象类可以继承一个类和实现多个接口.
接口可以继承一个或多个其它接口 .

抽象类属性:不用限制

接口的属性:静态常量

 

成员区别

抽象类 变量,常量;有抽象方法;抽象方法,非抽象方法
接口 常量;抽象方法

关系区别

类与类 继承,单继承
类与接口 实现,单实现,多实现
接口与接口 继承,单继承,多继承

设计理念区别

抽象类 被继承体现的是:”is a”的关系。
共性功能 接口 被实现体现的是:”like a”的关系。扩展功能 /(类似一种什么,什么).

 

 

形式参数

4.**形式参数和返回值问题案例

形式参数:基本(8个)和引用(类,接口,数组)

引用类型作为形参:类,接口,数组

类:需要的是该类的对象.

public void show(Dog dog){}

调用对象.show(new Dog());

抽象类:需要的是该抽象类的子类对象

public void show(Person person){}

show(new 子类名());

接口:需要的是接口的子类对象

public void show(PCI pci){}

show(new SoundCard());

public UserDao getUserDao(){

return UserDaoImpl();//接口的实现类对象
}

public void show(PCI pci){}

对象.show(new SoundCard());

public UserDao getUserDao(){

return UserDaoImpl();//接口的实现类对象
}

 

 

因为抽象类和接口不能实例化

 

转载于:https://www.cnblogs.com/hdj1073678089/p/7300614.html

你可能感兴趣的文章
html5 Canvas绘制图形入门详解
查看>>
ASP.NET 5中的静态文件处理
查看>>
Queue的简单实现
查看>>
js数组转字符串
查看>>
ssm中返回中文字符串时出现乱码?
查看>>
【评分】第二次作业——个人项目实战
查看>>
javascript实现页面跳转
查看>>
servlet和filter初始化
查看>>
设为首页 添加收藏
查看>>
MySQL相关命令
查看>>
15个nosql数据库
查看>>
react-router
查看>>
【转】jmeter学习笔记——脚本录制
查看>>
I/O(流)读写函数
查看>>
A Tour of Go Variables with initializers
查看>>
A Tour of Go Interfaces
查看>>
移动APP安全检测工具大全
查看>>
最大上升子矩阵
查看>>
加快网站访问速度
查看>>
stress工具使用指南和结果分析
查看>>