JavaAPI的使用方法详解

作者:盆古 时间:2022-10-30 23:00:40 

什么是Java类库

在编写程序的时候,通常有很多功能是通用的,或者是很基础的,可以用这些功能来组成更发杂的功能代码。比如文件操作,不同程序对文件的操作基本都是一样的,打开文件,关闭文件,读取文件里面的数据,往文件中写数据等等。所不同的仅仅是文件路径不相同,文件内容不同。如果把文件相关的操作编写成一个通用的类,不管哪个程序员都可以直接使用,而不必自己重新编写一遍操作文件的所有代码,那么程序员的工作效率就会大大提高。像这样把一些具有通用的功能编写成相应的类代码,就形成了类库。

Java 的类库是 Java 语言提供的已经实现的标准类的集合,是 Java 编程的 API(Application Program Interface),它可以帮助开发者方便、快捷地开发 Java 程序。程序员在开发程序的时候,直接调用这些现成的类就可以了。这些类根据实现的功能不同,可以划分为不同的集合,每个集合组成一个包,称为类库。Java 类库中大部分都是由Sun 公司提供的,这些类库称为基础类库。

什么是程序包

包是一种概念,用来组织类。我们可以借助“行政区划”这个概念来帮助理解程序包。一个国家分很多省,省内又分很多市,还可以继续往下细分更多行政单位。这些行政单位界定了一个区域和这片区域上的所有人和物。程序包就相当于行政区划,行政区划里的人和物就相当于程序包里面的类。所以行政区划是一种抽象的概念。包和行政区划一样,都是一个抽象的概念。包里面还可以包含子包。如:com.myJava.utils这样的一个包名,就好比广东省.广州市.天河区。

需注意:

(1) package 前面还不能有空格。包声明应该在源文件的第一行,每个源文件只能有一个包声明(即只有一条package声明语句),这个文件中的每个类型都属于该包。

(2) 包名的命名规范,一般全部小写,Java要求包要有域名前缀,用来区分不同的作者,同时是域名的反写,如com.google.guava.guava-parent。

(3) 包的命名通常和代码文件的存储位置相关联。如上述Something.java文件的保存路径是 net/java/util/Something.java。因为Something.java文件中声明的包名是net.java.util

(4) 如果一个源文件中没有使用包声明,那么该类会被编译器认为放在一个默认的没有名称的默认包中。尽管默认包对于短的例子程序很好用,但对于实际的应用程序它是不适当的。多数情况,需要为自己的代码定义一个包。

使用Java类库

使用Java类库(或Java API)的方法是使用import语句,即在 java 源文件中 import语句应位于 package 语句之后,所有类的定义之前,可以没有,也可以有多条。import导入包有两种语法形式:

单类型导入(single-type-import), 例如 import java.io.File;

按需类型导入(type-import-on-demand),例如 import java.io.*;

对于按需类型导入( import java.io.*; ),有人误解为导入一个包下的所有类,其实不然,看名字就知道,他只会按需导入,也就是说它并非导入整个包,而仅仅导入当前类需要使用的类。

那么以上两种import程序包的方法是否一样呢?不一样!单类型导入和按需类型导入对类文件的定位算法是不一样的,具体说明请读者自己查找相关资料了解。

查看JDK的源代码就知道SUN的软件工程师一般不会使用按需类型导入。因为使用单类型导入至少有以下两点好处:

1。提高编译速度。

2。避免命名冲突。(例如:当你import java.awt.*;import java.util.*后,使用List的时候编译器将会出编译错误)

当然,使用单类型导入会使用你的import语句看起来很长。

JAVA类库在线中文文档参考:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

实践训练

第一步:新建一个小游戏项目,项目名称为MySee。

第二步:网项目中添加一个游戏窗口类,类名称为:DrawSee。在DrawSee.java文件头部,添加以下程序包:


import java.awt.Color;//颜色
import java.awt.Container;//容器
import java.awt.Font;//字体
import java.awt.Graphics;//所有图形上下文的抽象基类,允许应用程序在组件上绘制线条、文字等内容
import java.awt.event.MouseAdapter;//接收鼠标事件的抽象适配器类
import java.awt.event.MouseEvent;//鼠标事件

import javax.swing.JFrame;

以上主要使用到java.awt包和javax.swing包。

java.awt:java.awt是一个软件包,早期编写图形界面应用程序的包。如Color类,Font类。

javax.swing:为解决 AWT 存在的问题而新开发的图形界面包。Swing是对AWT的改良和扩展。

第三步:在DrawSee.java文件中,添加窗口配置的代码:


import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;

public class DrawSee extends JFrame {
 // 背景颜色
 private Color rectColor = new Color(0xf5f5f5);

public DrawSee(){
   Container p = getContentPane();//获取窗口的内容面板
   setBounds(100, 100, 500, 500);//调用父类setBounds方法,移动窗口到(100,100)位置,并设置窗口大小为宽500,高500
   setVisible(true);//调用父类setVisible方法
   p.setBackground(rectColor);//调用对象p的setBackground方法,设置窗口背景颜色
   setLayout(null);  
   setResizable(false);//调用父类setResizable方法,false表示不允许窗口最大化
   this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//调用父类setDefaultCloseOperation方法,指定窗口关闭时退出程序。  
 }
}

窗口配置的代码通常放置在初始化方法中,这样在实例化对象时,窗口的一些属性就被指定,随后窗口就会按此设置来显示。

第四步:给项目添加入口方法。在MySee项目中新增加一个类:AppMain类,类代码如下:


public class AppMain {

public static void main(String[] args) {
   // TODO Auto-generated method stub
   new DrawSee();
 }

}

第五步:运行程序,即可看到一个空白内容的窗口。

JavaAPI的使用方法详解

来源:https://www.cnblogs.com/bayes/p/5504102.html

标签:java,api使用方法
0
投稿

猜你喜欢

  • spring boot 2整合swagger-ui过程解析

    2021-08-08 22:57:35
  • SpringBoot 监控管理模块actuator没有权限的问题解决方法

    2022-01-26 21:50:11
  • 基于SpringBoot生成二维码的几种实现方式

    2022-02-27 16:24:31
  • python 转换 Javascript %u 字符串为python unicode的代码

    2022-07-28 03:15:14
  • Spring整合Quartz实现定时任务调度的方法

    2023-07-07 00:55:55
  • SpringBoot2整合Redis实现读写操作

    2023-08-03 08:19:24
  • 修改jar包package目录结构操作方法

    2021-12-31 13:46:45
  • C# SkinEngine控件 给窗体添加皮肤的方法

    2021-10-21 23:32:08
  • SpringBoot redis分布式缓存实现过程解析

    2023-10-10 22:32:25
  • Java毕业设计实战项目之仓库管理系统的实现流程

    2021-11-11 09:42:42
  • Android编程之防止反编译的实现方法

    2021-10-31 04:23:35
  • C# Websocket连接实现wss协议

    2022-09-02 08:20:41
  • Android形状图形与状态列表图形及九宫格图片超详细讲解

    2023-04-13 06:04:01
  • 详解feign调用session丢失解决方案

    2021-08-29 20:38:20
  • Java面向对象之内部类案例讲解

    2021-09-16 13:28:19
  • Java比较两个List的值是否相等的方法

    2022-12-31 15:41:37
  • 举例讲解Java中Piped管道输入输出流的线程通信控制

    2021-06-25 14:19:58
  • java动态线程池的简单实现思路

    2023-10-18 15:53:46
  • Android recyclerview实现拖拽排序和侧滑删除

    2021-10-04 00:33:16
  • 不可不知道的10个java谎言

    2022-01-21 10:25:40
  • asp之家 软件编程 m.aspxhome.com