加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

一篇文章带你把握Java中的抽象类和接口常识

发布时间:2021-06-03 07:46:36 所属栏目:编程 来源:互联网
导读:一、抽象类 1.什么是抽象类? 往往行使abstract要害字修饰的类就是抽象类。 2.假设在界说Animal类,界说一个shout()要领暗示动物发出的啼声,我们知道差异动物它
副问题[/!--empirenews.page--]

往往行使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()要领 

  } 

输出的功效是:

彩色打印机正在启动 

彩色打印机正在打印中 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读