什么是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. java把map转json

    JSONUtils.toJSONString(requestMap);    com.alibaba.fastjson.JSON <!-- https://mvnrepository.com/a ...

  2. 每天学一点easyui②

    Form插件 <!DOCTYPE html> <html>       <head>         <meta charset="utf-8&qu ...

  3. shiro+springmvc 都使用缓存

    基于涛哥shiro案例16 的这时候要配置service方法的缓存 在spring-config.xml添加 <context:annotation-config /> <cache ...

  4. Internet History, Technology and Security (Week3)

    Week3. Welcome to week 3! This is our fourth and final week of History where we make the connection ...

  5. Java 单生产者消费者问题

    package com.cwcec.test; class Resource { private int count = 0; private boolean flag = false; public ...

  6. 1105 C程序的推导过程

  7. Beta阶段冲刺前准备

    第 1 篇 Scrum 冲刺博客 1.新成员 暂无新成员,等一个有缘人 团队成员: 刘阳航(captain) 陈文俊 林庭亦 郑子熙 2.讨论是否需要更换团队的PM 经过团队讨论,我们决定不更换团队P ...

  8. 简单说明webbench的安装和使用

    简介 运行在linux上的一个性能测试工具 官网地址:http://home.tiscali.cz/~cz210552/webbench.html 如果不能打开的话,也可以直接到网盘下载:http:/ ...

  9. [转帖]MBR与UEFI

    从Intel 6系列主板之后,就开始提供UEFI BIOS支持,正式支持GPT硬盘分区表,一举取代了此前的MBR分区表格式,不过为了保持对老平台的兼容,微软即使最新的Windows 10系统也继续提供 ...

  10. vue 笔记1

    created 钩子可以用来在一个实例被创建之后执行代码: new Vue({ data: { a: 1 }, created: function () { // `this` 指向 vm 实例 co ...