java中的抽象类和接口
来源:互联网 发布:阿里云 docker 加速 编辑:程序博客网 时间:2024/06/15 20:28
1抽象类
当定义一个类时,常常需要定义一些方法来描述类的行为特性,但有时这些方法的实现方式是无法确定的。例如在Animal类中,shout方法用户表示动物的叫声,但是针对不同的动物叫声不同,因此在shout方法中无法准确的描述动物的叫声。
针对这种情况,java中允许定义方法时不写方法体,即抽象方法,抽象方法必须使用abstract关键字修饰,如下:
abstract oid shout(); //定义抽象方法shout
在定义抽象类时需要注意:
1包含抽象方法的类必须声明为抽象类,但抽象类中不一定含有抽象方法。
2抽象类不能被实例化,因为抽象类中可能包含抽象方法,抽象方法是没有方法体的,不可以被调用。
3如果想调用抽象类中定义的方法,需要创建一个子类,在子类中实现抽象类中的抽象方法。
例子:
abstract class Animal{ abstract void shout(); //定义抽象方法shout } class Dog extends Animal{ void shout(){ System.out.println("汪汪"); } } public class Demo{ public static void main(String[] args){ Dog dog=new Dog(); //创建dag类的实例对象 dog.shout(); //调用shout方法 } }结果:汪汪运行结果可以看出,子类实现了父类的抽象方法。
2接口
如果一个抽象类中所有的方法都是抽象的,则可以将这个类用另外一种方式定义,即接口。在定义接口时需要使用interface关键字,例:
interface Animal { int ID=1; //定义全局变量 void eat(); void shout();}
因为接口中 定义的方法和变量包含了一些默认的修饰符,接口中定义的方法,默认使用“public abstract”来修饰,接口中的变量默认使用"public static final"来修饰。
接口中的一些特点:
1 接口中的方法都是抽象的,不能实例化。
2 当一个类实现接口时,如果这个类是抽象的,则实现接口中的部分方法即可,否则需要实现接口中的所以方法。
3 一个类通过implements实现接口时,可以实现多个接口,中间用逗号隔开。
4 一个接口可以通过extends关键字继承多个接口,接口直接用逗号隔开。
5 一个类在继承另外一个类时同时还可以实现接口,此时extends关键字必须位与implements之前。
- java中的接口、抽象类和类
- java 中的抽象类和接口!
- java中的接口和抽象类区别
- 理解JAVA中的接口和抽象类
- JAVA中的接口和抽象类(转)
- java 中的抽象类和接口
- java中的接口和抽象类是什么?
- java中的接口和抽象类是什么?
- java中的接口和抽象类是什么?
- java中的抽象类和接口
- java中的抽象类和接口
- java中的抽象类和接口小结
- java中的接口和抽象类是什么?
- Java中的接口和抽象类
- Java中的抽象类和接口
- JAVA中的接口和抽象类(转)
- java中的抽象类和接口
- JAVA中的接口和抽象类(转)
- [转]使用LVS实现负载均衡原理及安装配置详解
- 单点登录
- python 基础(一)
- STL(五)泛化技术分析
- sublime text 3 实现markdown 实时预览的方法
- java中的抽象类和接口
- 如何将数值类型转换为数字?
- 关于interrupt,interrupted和isInterrupted的理解
- 2.步骤分析
- 应该如何考核性能测试的成果?
- 20.软件缺陷管理流程(2)
- geotools中等值面的生成与OL3中的展示
- SpringMVC学习-->第一天-搭建开发环境
- Dingo(一)