【精选】Java面向对象进阶——接口细节:成员特点和接口的各种关系

news/2024/5/19 20:53:25 标签: java, 开发语言, 前端, 安全, 网络, android, CTF
🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

接口中成员的特点

代码

接口和类之间的关系

代码1

代码2


接口中成员的特点

  • 成员变量

    只能是常量

    默认修饰符:public static final

  • 构造方法

    没有

  • 成员方法

    只能是抽象方法

    默认修饰符:public abstract

代码

接口:inter

java">package demon6;

public interface inter {
    //public static final
    int a = 10;

}

测试类:test

java">package demon6;

public class test {
    public static void main(String[] args) {
        System.out.println(inter.a);
//        inter.a = 20;
    }
}

接口和类之间的关系

  • 类和类的关系

    继承关系,只能单继承,不能多继承,但是可以多层继承

  • 承类和接口的关系

    实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口

  • 接口和接口的关系

    继承关系,可以单继承,也可以多继承

代码1

接口1:inter1

javascript">package demon6;

public interface inter1 {
     public abstract void method1();
     public abstract void method2();
     public abstract void method3();

}

接口2 :inter2

java">package demon6;

public interface inter2 {
    public abstract void method4();
}

实现类:interimpl

java">package demon6;

public class interimpl implements inter1,inter2{
    @Override
    public void method1() {

    }

    @Override
    public void method2() {

    }

    @Override
    public void method3() {

    }

    @Override
    public void method4() {

    }
}

代码2

接口1:inter1

java">package demon7;

public interface inter1 {
    public abstract void method1();
}

接口2:inter2

java">package demon7;

public interface inter2 {
    public abstract void method2();
}

接口3:inter3 (继承接口1和接口2)

java">package demon7;

public interface inter3 extends inter1,inter2{
    public abstract void method3();

}

测试接口:interimpl

java">package demon7;

public class interimpl implements inter3{
    @Override
    public void method1() {
        System.out.println("method1");
    }

    @Override
    public void method2() {
        System.out.println("method2");
    }

    @Override
    public void method3() {
        System.out.println("method3");
    }
}


测试类:test

java">package demon7;

public class test {
    public static void main(String[] args) {
        interimpl i = new interimpl();
        i.method1();
        i.method2();
        i.method3();
    }
}


http://www.niftyadmin.cn/n/5383556.html

相关文章

前端技术深造指南

前端技术深造指南 前端开发是一个不断发展和变化的领域,要想在这个领域深造,就需要不断学习和实践新的技术和工具。以下是一些关于如何深造前端技术的建议: 开篇推荐 来来来,老铁们,男人女人都需要的技术活 拿去不谢:远程调试,发布网站到公…

解决Edge浏览器,微博无法查看大图(Edge Image Viewer)

使用Edge浏览器浏览微博或其它带校验的图片时,会导致无法查看。 主要原因为Edge自带了一个Edge Image Viewer, 但是该图片查看器无法查看带校验数据的图片,所以导致查看时一片空白。 解决方法 地址栏输入 edge://flags/搜索 Edge Image Viewer选择 Disa…

Spring源码笔记之SpringIOC--(3)什么是BeanFactory?

什么是BeanFactory? BeanFactory是SpringIOC的最顶层接口,涵盖了IOC容器最基本的操作。ListableBeanFactory、ConfigurableBeanFactory提供了IOC容器获取所有Bean、配置Bean的额外能力。所有BeanFactory的实现类持有所有Bean的定义BeanDefinition&#…

【Docker】集群容器监控和统计 Portainer基本用法

Portainer是一款轻量级的应用,它提供了图形化界面,用川于方便地管理Docker环境,包括单机环境和集群环境。 主要功能:实现集群容器的监控和统计 下载安装 官网:https://www.portainer.io 文档:https://do…

js 多对象去重(多属性去重)

需求中发现后端可能没有处理重复数据,这个时候前段可以直接解决。 在 JavaScript 中,可以使用 Set 数据结构来进行多对象的去重。Set 是 ES6 新引入的集合类型,其特点是元素不会重复且无序。 下面是一个示例代码,展示如何通过 S…

Python 实现Excel 文件合并

Excel 文件合并方法较多,前面文章有通过Uipath RPA 对文件进行合并,也可以通过Python或VBA写脚本合并。 通常写脚本维护性更加简洁,本文提供Python 脚本对Excel 文件进行合并,参考Uipath 调用Python 文章,Uipath 调用Python 脚本程序详解-CSDN博客 便能快速实现。代码如…

2024前端面试准备之Vue3篇

全文链接!!!!!! 1. Vue3相比Vue2有哪些改进? Composition API: Vue3引入了Composition API,使得组件的逻辑更加清晰和灵活。开发者可以根据功能逻辑将代码按照功能进行组织,而不是按照选项的方式。 更快的渲染性能:Vue3使用了Proxy代理对象来实现数据的响应式,相比…

Django框架学习入门

Django是一个开放源代码的高级Web应用框架,由Python语言编写,用于开发Web后端程序。以下是Django框架学习入门的简要指南: 环境准备: 安装Python:确保你安装了适当版本的Python。Django 3.x 通常需要Python 3.6到3.10之…