Java中的包和接口之间的区别

作者: Laura McKinney
创建日期: 2 四月 2021
更新日期: 1 七月 2024
Anonim
Java编程中包的重要性
视频: Java编程中包的重要性

内容


包和接口都充当容器。包和接口中的内容可以由类通过相应地导入和实现来使用。程序包和接口之间的基本区别在于,程序包包含一组类和接口,而接口则包含方法和字段。让我们借助比较表来研究其他差异。

  1. 比较表
  2. 定义
  3. 关键差异
  4. 结论

比较表

比较基础配套介面
基本的包是一组类和/或接口在一起。接口是一组抽象方法和常量字段。
关键词使用“ Package”关键字创建软件包。使用“接口”关键字创建接口。
句法package package_name;
公共课程class_name {
.
(班级)
.
}
接口interface_name {
变量声明;
方法声明;
}
访问包可以进口 一个接口可以由另一个接口扩展,并由该类实现。
访问关键字 可以使用“ import”关键字导入软件包。可以使用“实现”关键字来实现接口。

包装定义

包是各种类和接口的集合或组。包中的类在某种范围内或通过继承相互关联。您也可以创建程序包并将其用于程序。

创建一个包

要创建包,请按照以下步骤操作。

  1. 打开一个文件,然后在文件顶部声明包的名称,就像包名称是您要赋予包的名称一样。
  2. 接下来,定义一个要放入包中的类,并记住将其声明为public。
  3. 将文件另存为.java文件,然后编译该文件,然后为该文件获取“ .class”。
  4. 要为此文件创建一个包,使用的命令是“ javac -d”。 file_name.java。您可以看到在当前目录中创建了包含“ .class”文件的包。要将其放在父目录中,请使用“ javac -d”。 。 file_name.java”命令。
  5. 您也可以通过在文件顶部声明子包名称来创建子包。

打包Mypackage;公共类myclass {public void displayMypackage(){system.out.ln(“方法MyPack的类myMypackage的软件包Mypackage”); }

使用包装


在目录中创建或可用的软件包可以通过使用import语句在程序中使用。用于在程序中导入任何软件包的关键字是“ import”。 import语句可以用两种方式编写,也可以说有两种方法可以访问任何软件包。首先,如果要使用包中的特定类,则在“ import”关键字之后紧跟包名,然后是点运算符和要从包中使用的类名。其次,如果要使用软件包中包含的许多类,则import关键字后跟软件包名称,再跟点和“ *”运算符。

导入package_name。班级名称;或导入package_name。 *;

在上面的代码中,您可以看到*符号,该符号表示第二种方法将导入包中包含的所有类。

现在,让我们通过一个示例查看该软件包的用法。

导入Mypackage。 myclass {class TestMypackage {public static void main(string args){myclass ob1 = new myclass(); ob1.displayMypackage(); } //输出方法MyPack的类myclass的displayMypackage输出。

在上面的代码中,类TestMypackage已导入包Mypackage并使用了其displayMypackage()方法。

接口定义

接口是类的一种,但是在某种意义上不同之处在于接口中声明的方法是抽象的,这意味着仅声明方法而未定义方法。接口中的字段始终是public,static,final。这些字段必须在声明时进行初始化。接口声明的方法由根据其要求实现该接口的类定义。由于接口中的方法不执行任何功能,因此无需使用接口的任何对象。因此,无法为该接口创建任何对象。

该接口还可以继承另一个接口,但是,继承此类接口的类也必须实现继承的接口的所有方法。由于字段是在接口中声明时进行初始化的,因此接口中不需要构造函数,因此该接口不包含任何构造函数。让我们看一下创建和使用界面的示例。

界面区域{float pi = 3.14; float find_area(float a,float b){}类Circle实现Area {float find_area(float a,float b){return(pi * a * a); }类的形状{public static void main(string args){Area A = new Area();圆C =新圆(); A = C;浮动F =面积。 find_area(10,10); system.out.ln(“圆的面积为:” + F); }

在上面的代码中,我们创建了一个接口Area,而Circle类实现了接口Area。声明时,字段“ pi”已在接口中初始化。 Circle类根据其要求定义了类区域的抽象方法。


  1. 包是一组类和接口在一起,而接口是一组抽象方法。
  2. 包是使用关键字创建的 而使用关键字创建接口 接口.
  3. 如果要使用包内的类或接口,则在必须实现接口的同时导入包。

结论:

包和接口都是容器。包减少了代码的大小,因为我们只是导入要使用的类,而不是再次定义它。而接口减少了多重继承时的混乱,因为在多重继承的情况下,继承类不必决定应继承哪种方法的定义,而是可以定义自己的方法。