JavaAPI的使用方法详解

什么是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的使用方法详解的全部内容,希望对大家有所帮助,感兴趣的朋友可以继续参阅本站:Java实现生产者消费者问题与读者写者问题详解、java集合中的list详解、java并发学习之BlockingQueue实现生产者消费者详解等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

(0)

相关推荐

  • java api返回值的标准化详解

    api返回值的标准化 例如 {"status":200,"message":"操作成功","data":"{\"id\":1,\"name\":\"张三\"}"} 封装返回对象 对象被封装在base.util.ResponseUtils类型下,返回值是标准的ResponseEntity对象,返回体进行了二次封装,主要有status,messsage

  • 浅谈JavaAPI 中 <E> 与 <T> 的含义

    今天看集合的代码,发现在泛型的使用时的区别,Collection<E>.List<E>,而Iterator<T>,那么<E>和<T>含义有什么不一样呢? <E>为Element的首字母,一般表示集合中的元素.    <T>为Type的首字母,表示传输参数的类型. 以上这篇浅谈JavaAPI 中 与 的含义就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • kafka生产者和消费者的javaAPI的示例代码

    写了个kafka的java demo 顺便记录下,仅供参考 1.创建maven项目 目录如下: 2.pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mave

  • JavaAPI的使用方法详解

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

  • Asp.net MVC scheduler的实现方法详解

    Asp.net MVC scheduler的实现方法详解 本例使用了fullcalendar js : https://fullcalendar.io/ 1. view : @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section PageContent{ <style> .modal-backdrop { z-index: 9; } </sty

  • shell脚本无密码登录 expect的使用方法详解

    shell脚本无密码登录 expect的使用方法详解 今天需要做一个定时任务脚本将最新的数据包文件传到远程的服务器上,虽然有密钥但也是要求输入密码的那种,所以只能另想办法实现让脚本自动输入密码了. 从网上查到使用expect可以,简单研究了一下,效果不错. 因为我的操作系统没有安装expect,所以直接"yum -y install expect",你可以根据你的操作系统安装expect,或者源码编译. 安装好之后就可以使用了,这里有几种方法: 一.单独写一个脚本 如 auto_scp

  • MySQL数据库设计之利用Python操作Schema方法详解

    弓在箭要射出之前,低声对箭说道,"你的自由是我的".Schema如箭,弓似Python,选择Python,是Schema最大的自由.而自由应是一个能使自己变得更好的机会. Schema是什么? 不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据.意味着我们要对用户输入进行严格的验证,web开发时一般输入数据都以JSON形式发送到后端API,API要对输入数据做验证.一般我都是加很多判断,各种if,导致代码很丑陋,能不能有一种方式比较优雅的验证用户数据呢

  • AngularJS的$location使用方法详解

    AngularJS的$location使用方法详解 一.配置config app.config([ '$locationProvider', function($locationProvider) { $locationProvider.html5Mode({ //设置为html5Mode(模式),当为false时为Hashbang模式 enabled : true, //是否需要加入base标签,这里设置为false,设置为true时,需在html的head配置<base href="&

  • 优化Tomcat配置(内存、并发、缓存等方面)方法详解

    Tomcat有很多方面,我从内存.并发.缓存等方面介绍优化方法. 一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数. JAVA_OPTS参数说明 server 启用jdk 的 server 版: -Xms java虚拟机初始化时的最小内存: -Xmx java虚拟机可使用的最大内存: -XX: PermSize 内存永久保留区域 -XX:MaxPermSize 内存最

  • C++中new和delete的使用方法详解

    C++中new和delete的使用方法详解 new和delete运算符用于动态分配和撤销内存的运算符 new用法:           1.     开辟单变量地址空间 1)new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a. 2)int *a = new int(5) 作用同上,但是同时将整数赋值为5           2.     开辟数组空间 一维: int *a = new in

  • C++ set的使用方法详解

    C++ set的使用方法详解 set也是STL中比较常见的容器.set集合容器实现了红黑树的平衡二叉检索树的数据结构,它会自动调整二叉树的排列,把元素放到适当的位置.set容器所包含的元素的值是唯一的,集合中的元素按一定的顺序排列. 我们构造set集合的目的是为了快速的检索,不可直接去修改键值. set的一些常见操作: begin() 返回指向第一个元素的迭代器 clear() 清除所有元素 count() 返回某个值元素的个数 empty() 如果集合为空,返回true(真) end() 返回

  • Hadoop Combiner使用方法详解

    Hadoop Combiner使用方法详解 Combiner函数是一个可选的中间函数,发生在Map阶段,Mapper执行完成后立即执行.使用Combiner有如下两个优势: Combiner可以用来减少发送到Reducer的数据量,从而提高网络效率. Combiner可以用于减少发送到Reducer的数据量,这将提高Reduce端的效率,因为每个reduce函数将处理相对较少记录,相比于未使用Combiner之前. Combiner与Reducer结构相同,因为Combiner和Reducer都

  • 获取Django项目的全部url方法详解

    在为一个项目添加权限时,遇到一个问题,就是为项目所有的url设置权限,但是一个一个手动输入太麻烦了,所以考虑用代码获取到一个项目所有的url 首先,考虑到项目最外层的urlpartterns,因为所有的url都要通过这里 urlpatterns = [ # url(r'^admin/', admin.site.urls), url(r'^arya/', site.urls), url(r'^index/', index), ] 先循环打印一下这个列表,看一下拿到的结果: <RegexURLRes

随机推荐