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

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

1. 抽象类

  1.1 什么是抽象类

    在java中用abstract关键字定义的java类为抽象类。

public abstract class Ball {        }

  1.2 抽象类的特性

1) 含有抽象方法(用abstract关键字修饰的方法且没有具体实现的方法体)的类一定是抽象类,而抽象类不一定含抽象方法。

2) 为了方便继承,抽象类中的抽象方法必须是public protected

3) 抽象类的抽象方法在导出类中必须覆盖实现或将导出类也声明为抽象类。    

  1.3 抽象类与普通类的区别

抽象类不能创建对象。

  1.4 抽象类的用途

抽象类就是为了继承而存在的,如果你定义了一个抽象类,却不去继承它,那么等于白白创建了这个抽象类,因为你不能用它来做任何事情。

2. 接口

  2.1 接口的定义

接口是interface关键字产生一个完全抽象的类,它没有任何具体实现。

  2.2 接口的特性

1) 接口中所有的域都是隐式地 public static  final,所有的方法都是隐式地public abstract

2) 允许一个类使用关键字 implements多个特定的接口。如果一个非抽象类遵循了某个接口,就必须实现该接口中的所有方法。对于遵循某个接口的抽象类,可以不实现该接口中的抽象方法。

3. 抽象类和接口的区别

1) 抽象类可以有具体实现的普通方法,而接口则只能有抽象方法。

2) 抽象类中的域可以是多种数据类型,而接口中的域只能是public static final

3) 抽象类可以包含静态的域,而接口不可以。

4) 一个类只能继承一个抽象类,而一个类可以实现多个接口。

5) 抽象类是对类整体的抽象,而接口是对类行为的抽象。如门和报警器,门都具备打开和关闭的共同点,但不是所有的门都具备报警器这个行为,这个时候我们就不能将报警器的行为定义在抽象类中,而是单独拿出来作为一个接口定义,让有报警器功能的门去实现报警器的接口。

6) 抽象类是一种模板设计,而接口则是行为设计。

 

参考资料:

转载于:https://www.cnblogs.com/dandelZH/p/9272164.html

你可能感兴趣的文章
java基础(1)
查看>>
Java对象的序列化和反序列化实践
查看>>
window 常用软件
查看>>
第八届河南省赛D.引水工程(kruthcra+prime)
查看>>
例子:点击滑块滚动,左侧逐渐变大,右侧变小
查看>>
python学习笔记(二十七)多线程与多进程
查看>>
简单照片浏览器
查看>>
split(v1,v2)用于把一个字符串分割成字符串数组
查看>>
python学习笔记 -- map() 操作可迭代序列
查看>>
删除一个带有文件的文件夹
查看>>
content-providers
查看>>
冒泡排序及优化
查看>>
BIND9源码分析之 多个view的情况下如何做dynamic update
查看>>
行为科学统计第16章--相关
查看>>
银河麒麟操作系统常用问题及解决方法
查看>>
$python正则表达式系列(5)——零宽断言
查看>>
Python 函数式编程(3) —— 闭包
查看>>
RHEL6 kernel bug在hadoop上的测试
查看>>
8种传值方式
查看>>
EF的简单认识
查看>>