温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中的抽象类和接口分别是什么

发布时间:2021-06-21 14:23:35 来源:亿速云 阅读:125 作者:chen 栏目:编程语言

这篇文章主要介绍“Java中的抽象类和接口分别是什么”,在日常操作中,相信很多人在Java中的抽象类和接口分别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中的抽象类和接口分别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

 一、抽象类

1.什么是抽象类?

凡是使用abstract关键字修饰的类就是抽象类。

2.假设在定义Animal类,定义一个shout()方法表示动物发出的叫声,我们知道不同动物它们的发出的声音是不一样的,在shout()方法不能够准确的描述动物发出的叫声。当在定义一个类,通常会定义一些方法来描述这个类的行为特征,有些时候这些方法实现的方式我们不能确定。定义抽象方法使用abstract关键字修饰例如以下所示:

abstract void shout();//定义抽象方法

定义抽象类使用abstract关键字修饰例如以下所示:

//定义抽象类的Animal abstract class Animal{ abstract void shout()//定义抽象方法 }

3.抽象类特点:

① 有抽象方法的类只能被定义成抽象类,但抽象类可以没有抽象方法。

②抽象类是没有具体对象的概念类,也就是说抽象类不能实例化为对象。

③如果一个类中含有未实现的抽象方法,那么该类就要使用abstract声明为抽象类。

④抽象方法不可以有方法体。

4.如何实现抽象类的方法例子

//定义Fruit类 abstract class Fruit{     //定义抽象方法info()     abstract void info(); } //定义Cherry继承Fruit类 class Cherry extends Fruit{     //实现抽象方法info()     void info(){         System.out.print("我是一个樱桃,重量为66g!");   } } public class p25 {     public static void main(String[] args) {         // TODO Auto-generated method stub         Cherry c=new Cherry();//实例化Cherry对象         c.info();//调用info()方法   } }

结果是:

我是一个樱桃,重量为66g!

从上面代码中,首先定义了一个Fruit类,在这个类中定义了抽象方法info(),然后定义Cherry类继承Fruit类,实现抽象方法info(),可以实例化Cherry对象,并调用它的info()方法。

二、接口

1.接口里面所有的变量都是常量,所有的方法都是抽象方法。

2.在定义接口需要用interface关键字声明:例如:

interface Fruit{ int MAX_WEIGHT = 1000;  //全局常量 void printInfo();        //定义抽象方法 }

从上面的例子中,我们可以看到定义抽象方法printInfo()并没有使用abstract关键字修饰,接口定义方法的时默认使用”public  abstract”来修饰,表示抽象方法。当接口的变量是默认使用”public static final”来修饰,表示全局常量。

3.在接口中的所有方法都是抽象方法,不可以通过实例对象来调用接口中的方法,需要定义一个类,并且使用implements关键字实现接口所有的方法。

4.实现接口所有的方法例子

//定义Printer接口 interface Printer{     int max_line=20;//定义全局常量     void printRun();//定义抽象方法pirntRun()     void printData();//定义抽象方法printData() } //Colorprinter类实现Printer接口 class Colorprinter implements Printer{     //实现printRun()方法     public void printRun(){         System.out.println("彩色打印机正在启动"); }     //实现printData()方法     public void printData(){         System.out.println("彩色打印机正在打印中");   } }  public class p26 {     public static void main(String[] args) {         // TODO Auto-generated method stub         Colorprinter c=new Colorprinter();//创建Colorprinter类的实例对象         c.printRun();//调用Colorprinter类的printRun()方法         c.printData();//调用Colorprinter类的printData()方法   } }

输出的结果是:

彩色打印机正在启动 彩色打印机正在打印中

从上面代码中,首先是定义Printer接口,定义全局常量、两个抽象方法分别是printRun()和printData(),然后定义Colorprinter类并使用implements关键字实现Printer接口,我们发现Colorprinter类实现Printer接口是可以被实例化的,这个就是类和接口的之间的关系。

三、总结

本文主要介绍了抽象类、接口。

抽象类是使用abstract关键字修饰的类,抽象方法就是使用abstract关键字修饰的方法。

接口里面所有的变量都是常量,所有的方法都是抽象方法。在定义接口需要用interface关键字声明。

抽象类和接口使用案例来帮助理解用法。希望大家通过本文的学习,对你有所帮助!

到此,关于“Java中的抽象类和接口分别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI