Java开发从入门到精通之Java中的抽象类和接口知识
小职 2021-01-28 来源 :Java进阶学习交流 阅读 655 评论 0

摘要:本文主要向大家介绍了Java开发从入门到精通之Java中的抽象类和接口知识,通过具体的内容向大家展现,希望对大家对Java语言的学习有所帮助。


本文主要向大家介绍了Java开发从入门到精通之Java中的抽象类和接口知识,通过具体的内容向大家展现,希望对大家对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关键字声明。

 

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


关注“职坐标在线”(Zhizuobiao_Online)公众号,免费获取学习教程资料、技术就业咨询

Java开发从入门到精通之Java中的抽象类和接口知识

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程