什么是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();
} }

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

Java入门:使用Java API的更多相关文章

  1. Java入门——初识Java

    Java入门——初识Java 摘要:本文主要对Java这门编程语言进行简单的介绍. Java简介 说明 Java语言历时十多年,已发展成为人类计算机史上影响深远的编程语言,从某种程度上来看,它甚至超出 ...

  2. Java入门:Java下载与安装方法

    本文适合刚入门的Java编程的初学者阅读. JDK有两种下载方法,一个是官网下载,另一个是第三方网站下载.官网速度也许有点慢,慢的话可以考虑去第三方网站下载. 一.官网下载 1. 访问地址:http: ...

  3. [Java入门笔记] Java语言简介

    前言 学习Java有一段时间了,但是一直缺少一个系统的思想,现在重新通过书籍中.网上的文章,视频等资料,整理与回顾Java的知识点. 言归正传,让我们先从了解Java语言开始. Java语言的由来 J ...

  4. Java入门——学会使用API

    API是什么? API(Application Programming Interface)就是别人写的代码使用说明书. 下面是中文版API的使用具体截图. 1.左上角有个显示(图中"隐藏& ...

  5. [Java入门笔记] Java语言基础(一):注释、标识符与关键字

    注释 什么是注释? 注释是我们在编写代码时某段代码.某个方法.某个类的说明文字,方便大家对于代码的阅读.被注释的内容不会被编译.执行. Java的注释分为三种类型:单行注释.多行注释.文档注释. 单行 ...

  6. Java入门:Java IO概括

    I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道.在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性 ...

  7. [Java入门笔记] Java语言基础(五):数组

    简介 数组可用用于存储存储多个数据,Java的数组要求所有的数组元素具有一种相同的数据类型.一旦数组初始化完成,数组在内存中的空间被固定下来,长度不可改变,即使把数组的元素清空,所占用的空间依然被保留 ...

  8. [Java入门笔记] Java语言基础(四):流程控制

    流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...

  9. [Java入门笔记] Java语言基础(三):运算符

    简介 运算符是一种特殊的符号,运算符是通过一定的运算规则操作一个或多个操作数,并生成结果的特定符号,运算符和操作数的有效组合称为表达式. Java中运算符主要分为以下几类: 赋值运算符 算术运算符 关 ...

  10. [Java入门笔记] Java语言基础(二):常量、变量与数据类型

    常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...

随机推荐

  1. mvc拦截请求IHttpModule

    代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syste ...

  2. 《TCP/IP 详解 卷1:协议》第 4 章:地址解析协议

    链路层是经过单一链路通信的协议层. IP 网络层协议的设计目标是为跨越不同物理类型的.多节点网络的 packet ,提供主机寻址.路由操作. 在其中要注意的一点是:网络层使用的地址和底层网络硬件使用的 ...

  3. java编程的一些注意事项

    下面是参考网络资源和总结一些在java编程中尽可能做到的一些地方 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例 ...

  4. 09_Java面向对象_第9天(类、封装)_讲义

    今日内容介绍 1.面向对象思想 2.类与对象的关系 3.局部变量和成员变量的关系 4.封装思想 5.private,this关键字 6.随机点名器 01面向对象和面向过程的思想 A: 面向过程与面向对 ...

  5. 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (二) 发送自定义数据

    在我的项目里,树莓派主要作为中心节点,用于接收数据,Arduino作为子节点,用于发送数据,考虑到以后会有很多子节点,但又不至于使得代码过于繁琐,因此所有的传输数据添加一个头部编号用于区分不同节点. ...

  6. 通达OA工作流主要表的数据结构

    flow_run_prcs 流程执行明细 字段名称 类型 中文 说明 RUN_ID 数值 流水号(关键字段) 每发起一个工作流,即创建一个全局唯一的流水号 PRCS_ID 数值 执行步骤序号 USER ...

  7. 虚拟机VMware中的CentOS字符界面和图形界面切换

    在虚拟机中安装CentOS后展示的界面是图形用户界面,想切换到命令模式,于是查了linux下切换模式的方法,可是按了ctrl+alt+f1.f2....f7都是没用,后来发现是因为按键冲突的原因 问题 ...

  8. redis批量删除key 命令

    redis-cli -n 数据库编号 -a 密码 keys "过滤条件" | xargs redis-cli -n 数据库编号 -a 密码 del Demo: redis-cli ...

  9. [转帖]sqlnet.ora常用参数

    sqlnet.ora常用参数 注﹕在修改sqlnet.ora文件之后重新启动监听﹐修改才能生效﹗﹗﹗ oracle网络设置主要包括三个文件,sqlnet.ora\ lisnter.ora\ tnsna ...

  10. [日常工作] 应用服务器上面应该尽量少开各种应用 --Chrome 内存泄露 让应用服务器非常缓慢

    1. 前段时间修改 服务器的密码 导致应用程序的web site 启动有问题 ,打开chrome 查看了错误详细信息 但是忘记关了.. 今天反馈机器非常缓慢 简单看了下内存 吐血... 所以以后不能在 ...