HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    静态类和接口的区别(静态类和接口的区别在哪)

    发布时间:2023-03-19 10:26:37     稿源: 创意岭    阅读: 118        问大家

    大家好!今天让创意岭的小编来大家介绍下关于静态类和接口的区别的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    本文目录:

    静态类和接口的区别(静态类和接口的区别在哪)

    一、Java类的基本组成和使用

    Java类的基本组成:java由一系列的接口和类组成,所有类的父类是:object。对象的生成:使用new关键字产生对象,该对象类中构造方法就是用来产生对象的。对象由一系列的属性和行为构成。使用和删除:对象构成之后,就可以使用对象点方法、属性进行操作,问删除,如果对象失去了引用的指向,会自动被GC(垃圾回收机制)回收。接口与包:接口(行为的抽象),实现接口,必须实现接口的方法,哪怕是空实现,目前我见过唯一一个没有实现的类就是:HttpSrvlet,其中的service实现的是抽象方法,接口目的有3点:1、因为在java不像C++,java是单继承,所以为了实现多继承,提出了接口的概念。2、为了规范,比如财付通、支付宝等第3方支付工具,外面的人怎么用它呢?他们仅仅是提供了接口给外面的,不管你怎么操作,你必须按照我提供给你的接口去实现。3、多态(Oriented Object的思想),程序的健壮性(开闭原则),方便维护和扩展,动态绑定可以实现接口变量指向实现类。包的概念就是为了方便管理。oracle中的包的概念也是如此常用的类和接口就不说了,自己去查查API,太多了

    二、静态路由下一跳和出接口的区别?

    在以太网中,两个接口之间的通信需要使用MAC地址,根据MAC地址,将数据封装成数据帧后传送到网络,进而通过物理线路传送给对方。而获得对方的MAC地址,是通过ARP的过程完成的。

    当静态路由中使用出接口时,路由器会认为目标网络和接口处在“直连网络”中。R1(config)#iproute23.23.23.0255.255.255.252f0/0

    查看:这时R1认为23.23.23.0/30这个网段是和自己直连的,

    在以太网直连网络中设备间的通信是通过ARP广播来获取到到达目标主机的MAC地址的。即当R1要访问23.23.23.3这个IP地址时,R1认为目标网络是自己的直连网络(这时候还是属于静态路由),于是R1就要在F0/0口向网络发出ARP请求广播,来寻找23.23.23.3所对应的MAC地址。

    这时,如果R2启用了ARP代理,那么R2将R3应答此ARP请求,即R2告诉R1:23.23.23.3所对应的MAC地址是R2的F0/0接口的MAC。如果R2的ARP代理功能关闭,那么R1将不能ping通23.23.23.3。假设R3后面接了些的PC机,当R1要访问这些PC机时,都会产生一条该PC机和MAC地址对应的ARP条目缓存,如果PC机的数量很大,该缓存也很大,有可能导致R1耗尽内存来维护。

    在静态路由中使用下一跳,路由表中显示的是下一跳的IP。

    R1(config)#iproute23.23.23.0255.255.255.25212.12.12.2

    查看:

    这时去往23.23.23.0/30的网段只会维护一条ARP缓存,即12.12.12.2所对应的是R2的F0/0接口地址。即使R3后面接了多台主机,也只需要维护这么一条ARP缓存记录。

    如果在点到点网络环境下,无论是指定下一跳地址还是出接口,其效果都是一样的。使用如HDLC和PPP之类协议来进行二层的封装,不需要进行ARP的解析。

    结论:

    在配置静态路由时,既可指定出接口,也可指定位下一跳,到底采用哪种方法,需要根据实际情况而定。

    在点到点网络环境下,无论是指定下一跳地址还是出接口,其效果都是一样的。

    但是在广播网络环境下,指定下一跳地址和指定出接口将会达到不同的效果。如果指定为出接口的话,那么不管数据包的目标地址是否有效,每次当数据包到达时都会触发一个ARP请求,又因为ARP代理功能在IOS环境下默认是打开的,这就意味着路由器需要配备大量的ARP高速缓存。而如果是指定为下一跳地址的话,仅当第一个去往目标网络的数据包到达时,才会触发ARP请求。

    三、C#.NET里面抽象类和接口有什么区别?

    1抽象类

    (1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法

    (2) 抽象类不能被实例化

    (3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类

    (4) 具体派生类必须覆盖基类的抽象方法

    (5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,则其具体派生类必须覆盖它们。如:

    using System;

    public abstract class A //抽象类A

    {

    private int num=0;

    public int Num //抽象类包含属性

    {

    get

    {

    return num;

    }

    set

    {

    num = value;

    }

    }

    public virtual int getNum() //抽象类包含虚方法

    {

    return num;

    }

    public void setNum(int n) // //抽象类包含普通方法

    {

    this.num = n;

    }

    public abstract void E(); //类A中的抽象方法E

    }

    public abstract class B : A //由于类B继承了类A中的抽象方法E,所以类B也变成了抽象类

    {

    }

    public class C : B

    {

    public override void E() //重写从类A继承的抽象方法。如果类B自己还定义了抽象方法,也必须重写

    {

    //throw new Exception("The method or operation is not implemented.");

    }

    }

    public class Test

    {

    static void Main()

    {

    C c = new C();

    c.E();

    }

    }

    二、接 口

    (1) 接口不能被实例化

    (2) 接口只能包含方法声明

    (3) 接口的成员包括方法、属性、索引器、事件

    (4) 接口中不能包含常量、字段(域)、构造函数、析构函数、静态成员。如:

    public delegate void EventHandler(object sender, Event e);

    public interface ITest

    {

    //int x = 0;

    int A

    {

    get;

    set;

    }

    void Test();

    event EventHandler Event;

    int this[int index]

    {

    get;

    set;

    }

    }

    (5) 接口中的所有成员默认为public,因此接口中不能有private修饰符

    (6) 派生类必须实现接口的所有成员

    (7) 一个类可以直接实现多个接口,接口之间用逗号隔开

    (8) 一个接口可以有多个父接口,实现该接口的类必须实现所有父接口中的所有成员

    三、抽象类和接口

    相同点:

    (1) 都可以被继承

    (2) 都不能被实例化

    (3) 都可以包含方法声明

    (4) 派生类必须实现未实现的方法

    区 别:

    (1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。

    (2) 抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。微软的自定义接口总是后带able字段,证明其是表述一类“我能做。。。”

    (3) 接口可以被多重实现,抽象类只能被单一继承

    (4) 抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中

    (5) 抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定, 因此反映的是事物的外部特性

    (6) 接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法

    (7) 接口可以用于支持回调,而继承并不具备这个特点

    (8) 抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的

    (9) 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法

    四、关于java中接口定义常量和类定义常量的区别

    接口常量修饰格式固定的,public final 必不可少,你不写,他也自动补全!

    类的常量没这个特殊要求,看情况定;

    接口常量只有子类实现后才可以使用!

    类常量,创建实例就可以用,也或者静态调用!

    以上就是关于静态类和接口的区别相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    收款码是静态还是动态(收款码是静态还是动态码)

    数媒静态设计获奖作品(数媒静态设计获奖作品图片)

    静态ip能提高网速吗(静态ip能提高网速吗)

    网页有广告怎么去掉(手机浏览器怎么去广告)

    景观设计适合女生吗(景观设计适合女生吗)