• 第十讲 Java 资源结构-api


    主要内容

    Java 资源库概述
    java.lang 包中常用的基础类
    java.util 包中常用的工具类
    查阅文档理解 Java 资源的方法

      native可以直接调用C和C++来搞一些硬件底层的东西。

    基础包(核心包)
    java.lang 包
    language,基本语言包。自动加载。
    包含了 Java 程序必不可少的 System 类;
    为 Java 语言的基本数据类型、 字符串类、数组提供了基本的类描述;
    包含了线程和异常处理类
    java.util 包
    utility,实用工具包。
    包含了 Java 语言中可实现特定功能的类:日期、向量、随机数和堆栈等。
    java.io 包
    input|output,输入输出包:包含了标准输入输出和文件处理的类。可使 java
    程序实现与操作系统相关的较底层的输入输出处理。
    应用包
    java.awt 包
    窗口工具包。包含了可用来构建图形用户界面的类。
    Graphics 类,相关的低级绘图操作;
    Java 语言程序设计
    图形界面的组件和布局:如 Label、 TextField、 CheckBox、 LayoutManager
    接口等;
    用户交互控制和事件呼应
    javax.swing 包
    另一个窗口工具包。早期版本是 java.awt.swing,后集成到了 javax.swing
    中。
    java.applet 包
    小程序应用类包:包中除了有一个 Applet 类之外,还有三个接口:
    AppletContext、 AppletStub、 AudioClip。
    java.applet 包提供了与支持 Java 的浏览器进行交互的方式的 Applet 类,
    可以在 HTML 网页中嵌入图像和声音等元素。
    java.net 包
    网络应用包:提供了通过 telnet、 ftp、 www 之类的协议访问网络的类。 可
    用于快速地开发网络应用程序。
    通过丰富 java.net 包, java 的网络功能随着版本更新而有扩充 。

    API:

     java.lang.Object 类:clone()equals(Object obj):由程序员决定、finalize()

    getClass()、hashCode()notify() notifyAll() toString():用于输出对象,常来;

    线程同步的:wait() wait(long timeout) wait(long timeout, int nanos)。

      实例1:equals(),hashCode(),toString()来比较、输出hash码、打印对象

     1 package edu.freshen.api;
     2 /***
     3  * 判断两个对象是否相等equals()
     4  * 当引用不同,属性一致的对象时,需要重写equals();
     5  * @author john
     6  * 如果是打印hashcode则也需要重写
     7  */
     8 
     9 
    10 public class TestAPI {
    11     public static void main(String[] args) {
    12         Book b = new Book("J2SE",50f,"b001");
    13         Book c= new Book("Jsp",50f,"b002");
    14         Book d = new Book("J2SE",50f,"b001");
    15         
    16         System.out.println(b.equals(c)+"
    "+b.equals(d));
    17         System.out.println(b.hashCode());
    18         System.out.println(c.hashCode());
    19         System.out.println(d.hashCode());
    20         
    21         System.out.println(b);//打印对象需要重写toString()方法,否则打印的是对象的地址
    22         System.out.println(c);
    23         System.out.println(d);
    24     }
    25 }
    26 class Book{
    27     private String name;
    28     private float price;
    29     private String isbn;
    30     public Book( String name, float price,String isbn) {
    31         super();
    32         this.isbn = isbn;
    33         this.name = name;
    34         this.price = price;
    35     }
    36     
    37     @Override
    38     public boolean equals(Object obj) {
    39         if(obj instanceof Book){
    40             Book b = (Book) obj;
    41             return this.isbn.equals(b.getIsbn());
    42         }else{
    43         return false;
    44         }
    45     }
    46     
    47     @Override
    48     public int hashCode() {
    49         return this.getIsbn().hashCode();
    50     }
    51     
    52     @Override
    53     public String toString() {
    54         return this.name+","+this.price+","+this.isbn;
    55     }
    56 
    57     public String getIsbn() {
    58         return isbn;
    59     }
    60     public void setIsbn(String isbn) {
    61         this.isbn = isbn;
    62     }
    63     public String getName() {
    64         return name;
    65     }
    66     public void setName(String name) {
    67         this.name = name;
    68     }
    69     public float getPrice() {
    70         return price;
    71     }
    72     public void setPrice(float price) {
    73         this.price = price;
    74     }
    75     
    76 }
    结果:

     

  • 相关阅读:
    Python深入05 装饰器
    Python深入04 闭包
    Python深入03 对象的属性
    Ubuntu (虚拟机同样) 更换内核?
    .out
    GCC 编译详解
    linux 编译内核 /boot空间不足?
    Java Swing提供的文件选择对话框
    Java Swing 实时刷新JTextArea,以显示不断append的内容?
    为什么要编译Linux内核?
  • 原文地址:https://www.cnblogs.com/slxydyl/p/5749220.html
Copyright © 2020-2023  润新知