千家信息网

Java中抽象类和接口怎么实现

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"Java中抽象类和接口怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、抽象
千家信息网最后更新 2026年11月01日Java中抽象类和接口怎么实现

本篇内容介绍了"Java中抽象类和接口怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    1、抽象类

    1.1 什么是抽象类?

    1.1.1 对抽象类的理解

    1.1.2 关于抽象类

    类与类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类;

    类本身是不存在的,属于抽象类无法创建对象【无法实例化】;

    抽象类是用来被子类继承的;

    finial关键字和abstract关键字不能同时出现;

    抽象类的子类可以是抽象类;

    抽象类虽然无法实例化,但有构造方法,这个构造方法是供子类使用的;

    接口一般描述的是行为动作信息

    一个非抽象的类继承抽象类,必须把抽象类中的抽象方法给实现(覆盖、重写)了

    public class HelloWorld{    public static void main(String[] args){        //如何实现多态呢???        Animal a = new Bird();//向上转型(自动类型转换)        //面对抽象对象编程,降低程序的耦合度,提供程序的扩展力,符合OCP原则    }}abstract class Animal{    public abstract void move();}class Bird extends Animal{    public void move(){    }//Bird不是抽象类,必须实现父类的抽象方法}//如果Bird是抽象类的话,那么继承过来的抽象方法可以不去重写、覆盖、实现

    1.2 抽象类属于什么类型?

    抽象类也属于引用数据类型;

    1.3 抽象类怎么定义?

    [修饰符列表] abstract class 类名{

    类体;

    }

    1.4 抽象方法

    1)抽象方法表示没有实现的方法,没有方法体,以分号结尾的方法。例如:

    public abstract void doSome();

    2)抽象类中不一定有抽象方法,但抽象方法一定在抽象类当中;

    3)没有方法体的方法不一定都是抽象方法,Object类中就有很多方法都没有方法体,以" ;"结尾 e.g.:public native int hashCode();这个方法底层调用了C++写的动态链接库程序;前面修饰符列表中有native,表示调用JVM本地程序

    2、接口

    2.1 关于接口

    1)接口也是一直引用数据类型,

    2)接口的完全抽象的(抽象类是半抽象类)或者也可以说接口是特殊的抽象类;

    3)接口支持接口继承也支持接口多继承;

    interface A{}interface B{}interface C extends A,B{}

    4)接口中只包含两部分内容,一部分是常量,另一部分是抽象方法,所有内容都是public修饰的,都是公开的;

    5)接口中抽象方法中的public static 可以省略,"public abstract int sun(int a,int b);" ——> "int sun(int a,int b);"

    6)接口中变量中的public static final 可以省略,"public static final double PI = 3.1415926;" —> "double PI = 3.1415926;;"

    7)接口中的方法都是抽象方法,所以接口中的方法都没有方法体;

    2.2 接口怎么定义?

    [修饰符列表] interface 接口名{

    }

    2.3 接口基础语法

    1)类和类之间叫做继承,类和接口之间叫做实现(可看作继承),用关键字"implements";

    2)当一个非抽象的类实现接口的话,必须将接口中所有的抽象方法全部实现(覆盖、重写);

    public class interface {    public static void main(String[] args) {        //如何实现多态???        //父类型的引用指向子类型的对象        MyMath m = new MyMathImp();        //调用接口里面的方法(面向接口编程)        int result = m.sum(10,2);        System.out.println(result);    }}interface MyMath{    double PI = 3.1415926;    int sum(int a,int b);    int sub(int a,int b);}class MyMathImp implements MyMath{    public int sum(int a,int b){//重写接口中的抽象方法        return a + b;    }    public int sub(int a,int b){//重写接口中的抽象方法        return a - b;    }}

    注意:非抽象的类实现接口时重写的抽象方法public不可省;

    3)一个类可以实现多个接口,这种机制弥补了"java中类和类只支持单继承"带来的缺陷;

    接口和接口之间在进行强制类型转换的时候,没有继承关系,也可以强转,但运行的时候可能会出现ClassCastException异常,需要加instanceof进行判断;

    public class HelloWorld{    public static void main(String[] args) {        //如何实现多态???        A a = new C();        if(a instanceof B){            B b2 = (B)a;//此时a b的底层都是C,C实现了接口A和接口B,所以可以向下转型            b2.m2();        }                        M m = new E();        if(m instanceof K){            K k = (K)m;//这里的E()和K没有关系,E实现了M,但没有实现接口K,所以不能向下转型            k.m3();        }    }}interface A{    void m1();}interface B{    void m2();}class C implements A,B{//C实现了A和B    public void m1(){    }    public void m2(){        System.out.println("可以向下转型!");    }}interface K{    void m3();}interface M{    void m4();}class E implements M{//E实习了M,但没有实现K    public void m3(){    }    public void m4(){    }

    4)继承和实现都存在的话,代码怎么写?

    extends关键字在前,implements关键字在后

    public class interface{    public static void main(String args[]){        //创建对象        Flyable f = new Cat();        f.fly();    }}//动物类:父类class Animal{}//可飞翔的接口(是一对翅膀)//能插拔的就是接口。//接口提取的是行为动作interface Flyable{    void fly();}//动物类子类:猫//Flyable是一个接口,是一个翅膀的接口,通过接口插到猫身上,让猫可以飞翔class Cat extends Animal implements Flyable{    public void fly(){        System.out.println("猫会飞");    }}

    "Java中抽象类和接口怎么实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

    接口 方法 类型 关键 关键字 之间 内容 子类 对象 程序 多态 支持 动作 动物 动物类 实例 就是 底层 数据 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 花魁咖啡 天津市摩尔互联网科技 广州万易互联网科技有限公司 科技金融是不是互联网金融 互联网科技卖菜 互联网的科技创新 互联网 新科技 互联网科技大会 汉立互联网科技有限公司联系电话 内蒙古九一互联网科技 元气玛特互联网科技公司是外包吗 伍佰万互联网科技怎么赚钱 互联网科技包装股份有限公司上市 宁波跨境商互联网科技有限公司 济南小医互联网科技有限公司招聘 互联网时代高科技布局 好易买互联网科技 互联网科技大会大佬 互联网科技企业文化 广州全民伙伴互联网科技有限公司 金融科技创新监管互联网金融 唐信互联网科技 互联网科技股有哪些 互联网科技大会案例 湖南洣水互联网科技有限公司扣款 开启互联网科技时代小说 上海科技产业互联网平台 宁波跨境商互联网科技有限公司 科技互联网专业工作会议发言稿 互联网金融金融科技
    0