首页 > 编程知识 正文

包好的生煎如何储存(Java接口和包(超详细))

时间:2023-05-05 00:38:56 阅读:123833 作者:839

目录

前言

接口

声明接口

接口实现

接口继承

实现多个接口时的常量和方法冲突问题

手提包

创建包

导入软件包

Java系统软件包

常用工具包

java.lang软件包

java.util包

最后一次

前言什么是接口呢? 为什么要用接口呢? 我知道Java只允许单一继承。 为了实现多继承,Java引入了接口这一概念。 什么是包装呢? 通常,当我们打开计算机时,我们会查找文件,然后查找文件所在的文件夹。 实际上,包是计算机文件夹的概念,在Java中是我们创建的类使用的接口,其中包含了一些机制,现在让我们开始学习接口和包的知识。

接口在语法上类似于类,是常量和抽象方法的集合。 请注意,接口中的所有成员变量都是常量,而所有成员方法都是没有方法主体的抽象方法。 注意:

接口中只有常量、方法名称; 在接口中定义的方法不需要大括号,不需要写方法体,以分号结尾的接口没有构造方法,不能实例化,只能在类中实现或由另一个接口继承; 的方法只是抽象的、公开的,不能有生成方法。 Java接口可以具有公共、静态和final属性。 接口与类类似。 一个接口有多种方法。 接口文件保存在以. java结尾的文件中,文件名使用接口名称。 接口的字节码文件保存在. class的最后一个文件中。 与接口对应的字节码文件必须位于与包名称匹配的目录结构中。 接口和类之间的区别:接口不能用于实例化对象。 没有构建方法。 接口中的所有方法都必须是抽象方法。 接口不能包含除静态变量和final变量以外的成员变量。 接口不是由类继承的,而是在类中实现的。 支持接口的多继承。 要声明接口,请使用接口关键字声明接口。 声明接口时,关键字接口前面有修饰符public或什么都没有,不能使用protected或private关键字。 接口可以继承多个。 这意味着一个接口可以使用任意数量的父接口。

[修饰符]接口名称[extends父接口名称列表]{ //接口主体。 常量声明和方法声明//常量声明[public] [static] [final]数据类型常量名称=包含常量值; //方法声明//[公共] [ abstract ]返回类型方法名称(参数列表); }各选项的说明:

常数声明:接口可以包含也可以不包含常数声明。 常数的默认值为公共、静态和final类型。 方法声明:接口中的方法只有返回类型和方法名称,没有方法主体。 接口的方法具有公共属性和abstract属性,因此正在声明

方法时,可以省略前面的修饰符public和abstract。

例如:

interface Shape{ //定义一个接口Shapedouble PI=3.14; //声明常量PIdouble Mianji(); //声明一个Mianji方法} 接口的实现

接口中只包含抽象方法,因此不能像一般类一样使用new运算符产生对象,使用关键字implements连接接口,语法格式为:

class 类名 implements 接口名{ //类主体}

例如:

interface Shape{ //定义一个Shape接口double PI=3.14; //声明一个double类型常量PIdouble Mianji(); //声明一个double类型方法Mianji}class Yuan implements Shape{ //声明一个名为Yuan的类并用implements连接接口Shapedouble r=10; //声明一个double类型常量rpublic double Mianji() { //声明一个double类型的公共方法Mianjireturn PI*r*r; //返回PI*r*r的乘积}}public class myfirst {public static void main(String[] args) {Yuan y=new Yuan(); //创建Yuan类的实例对象y System.out.println(y.Mianji()); //打印}}

运行结果为:314.0

接口的继承

接口也是可以被继承的,用关键字extends,和类的继承相似,语法格式如下:

Interface Interface2 extends Interface1

注意:当类实现了一个接口,而该接口继承了另一个接口时,则这个类必须实现这两个接口的所有方法。

实现多个接口时的常量和方法冲突问题

当实现接口时,则可以实现多个接口,这时就有可能出现常量或方法名冲突的情况,那该怎样解决呢,在解决这类冲突问题时,如果是常量冲突,则需要在类中使用全限定名(接口名、常量名)明确指定常量所属的接口;如果是方法冲突,则只需要实现一个方法即可。例如:

interface A{ //声明一个接口Afloat PI=3.14f; //定义一个用于表示圆周率的常量PIfloat getArea(); //定义一个用于计算面积的方法getAreafloat getGirth(); //定义一个用于计算周长的方法getGirth}interface B{ //声明一个接口Bfloat PI=3.14158f; //定义一个用于表示圆周率的常量PIfloat getArea(); //定义一个用于计算面积的方法getArea}class C implements A,B{ //声明一个C类并连接接口A,Bprivate float radius; //定义一个私有变量radius表示圆的半径public void Circle(float r) { //声明一个Circle方法,将圆半径初始化为参数r的值radius=r;}public float getArea() { //声明一个实现计算圆面积的方法getAreafloat area=A.PI*radius*radius; //调用A接口中的PI常量return area;}public float getGirth() { //声明一个计算圆周率的方法getGirthfloat circuGirth=2*B.PI*radius; //调用B接口中的PI常量return circuGirth;}}public class myfirst {public static void main(String[] args) {C c=new C(); //创建C类的实例对象cc.Circle(3); //调用实例对象c的Circle并赋值float area=c.getArea(); //调用c对象的getArea方法,获得该对象的面积值System.out.println("圆的面积为:"+area);float girth=c.getGirth(); //调用c对象的getGirth方法,获得该对象的周长System.out.println("圆的周长为:"+girth);}}

运行结果为:

圆的面积为:28.26圆的周长为:18.84948 包

包的概念:

包是一种将相关类、接口或者其他包组织起来的集合体;有助于避免命名冲突,同一个包中的类名不能重复,不同包中可以有相同的类名。包的创建

创建自定义包,语法格式为:

package 包名;

注意:

创建了包之后,该文件中定义的任何类将属于指定的包;创建包的语句必须为整个源程序的第一行。package myPack1; //在当前文件夹下创建包(子文件夹myPack1)package myPack2.sun; //在当前文件夹下创建包(子文件夹myPack2),再在其下创建子文件夹sun

在eclipse中创建包:在项目上点击右键,单击new下的Package。如果你不创建包,系统会默认生成一个default包。

导入包

要使用包中的成员,必须导入包,语法格式为:

import 包名.类名 //导入包中的一个特定类/接口import 包名.* //导入包中所有类和接口 Java的系统包

系统包相当于函数库,包中提供了许多方法供用户使用

java.lang:包含所有的基本语言类,如基本数据类型、数学函数、字符串等,默认引入;

java.util:包含有用的实用功能类型,如日期类;

java.io:包含所有的输入输出类;

java.net:包含所有实现网络功能的类;

java.awt:包含图形用户界面设计类;

javax.swing:是java.awt包的扩充,包含更丰富的抽象窗口工具集;

java.applet:包含所有支持小应用程序Java applet的类;

java.awt.image:包含图像处理类。

常用工具包 java.lang包

Math类:

Math.pow(double a,double b):返回以a为底,b为指数的幂值;Math.sqrt(double a):返回a的算术平方根;Math.round():采用四舍五入方式取得最接近的整数;Math.random():返回0到1之间的随机小数,要创建一个从x到y的随机数,例如:Math.round(Math.random()*(y-x))+x;java.util包

Date类:Date类实际上只是一个包裹类,它包含的是一个长整型数据,表示的是从GMT(格林尼治标准时间)1970年1月1日00:00:00这一刻之后经历的毫秒数。

import java.util.*; //引入java.util包public class myfirst {public static void main(String[] args) {Date d=new Date(); //创建Date实例对象dSystem.out.println(d); //打印当前时间}}

运行结果为:

Thu Mar 04 16:37:33 CST 2021 最后

好了,关于Java接口和包的知识讲到这里了,谢谢观看!!!

我们下篇文章再见!!!

成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。