第25天学习打卡

JAVA常用工具API(导学)

API的使用:

使用步骤

举例:

顶层父类:Object

控制台录入:Scanner

字符串处理:String

字符串处理:StringBuilder和StringBuffer

日期获取:Date和Calender

基本类型的包装类

根据步骤查找API文档使用对应功能:

查找类

查看模块名

查看包

查看构造方法

找到符合需要的方法

根据构造方法创建对象并使用

API简介

Application Programming Interface,应用程序编程接口,这里指的是API文档,通常叫Java文档,是Java中提供的类的使用说明书。

API文档:发挥面向对象思想,找到就Java提供的对象来实现功能,学习API文档就是学习Java中类的使用方法。

Java中组件的层次结构

模块(module)--->包(package)---->类或接口(class/interface)

image-20210202192115822

模块

module,自JAVA9起提供的一种新的java基础组件,在包(package)的基础上又进行了一层封装,是包的容器。

JavaSE Modules:

Java语言的核心类库,其下的模块名多以Java开头

JDK Modules:

Java开发工具相关内容,其下的模块名多以jdk开头

Object类

简介

类层次结构最顶层的基类,所有类都直接或间接的继承自Object类,所有,所有的类都是Object(对象)。

构造方法

Object():

构造一个对象。所有子类对象初始化都会优先调用该方法。

成员方法

int hashCode():

返回对象的哈希码值,该方法通过对象的地址值进行计算,不同对象的返回值一般不同。

Class<?>getClass():

返回调用此方法对象的运行时类对象(调用者的字节码文件对象)

String toString():

返回该对象的字符串表示

boolean equals():

返回其它某个对象是否与此对象”相等“。默认情况下比较两个对象的引用,建议重写。

image-20210202194409657

 

 package cn.itcast.demo01;
  /*
     Object类:
         概述:
            类层次结构最顶层的基类,所有类都直接或间接继承自Object类
            构造方法:
                  public Object()
            成员方法:
                  int hashCode(): 返回对象的哈希码值
                  Class(?)setClass():返回该调用的字节码文件对象
                  String toString():返回该对象的字符串表达式
                  boolean equals():比较两个对象是否相等
     */
 
 public class Test {
     public static void main(String[] args) {
 
    }
 
 }
 //Person直接继承Object类   Student先继承Person后继承Object 就是间接继承
 class  Person extends  Object{
 
 }
 class Student extends Person{
 
 }
 

Object类

 package cn.itcast.demo01;
  /*
     Object类:
         概述:
            类层次结构最顶层的基类,所有类都直接或间接继承自Object类
            构造方法:
                  public Object()
            成员方法:
                  int hashCode(): 返回对象的哈希码值
                  Class(?)setClass():返回该调用的字节码文件对象
                  String toString():返回该对象的字符串表达式
                  boolean equals():比较两个对象是否相等
            注意:
                java.lang包下的类可以直接调用,不用导包
     */
 
 public class Test {
     public static void main(String[] args) {
         //非静态方法的调用方式: 通过 对象名.的形式调用
         //1.创建Object类型的对象
         Object obj1 = new Object();
         Object obj2 = new Object();
 
         //2.测试Object类中的成员方法
         //int hashCode(): 返回对象的哈希码值   不同对象的哈希码值一般不同
         int code1 = obj1.hashCode();
         int code2 = obj2.hashCode();
         System.out.println(code1);
         System.out.println(code2);
         System.out.println("======================");
 
 
         //Class(?)setClass():返回该调用的字节码文件对象   一个类可以创建多个对象,但只有一个字节码文件对象
         Class clazz1 = obj1.getClass();
         Class clazz2 = obj2.getClass();
         System.out.println(clazz1);
         System.out.println(clazz2);
         System.out.println("========================");
 
 
         //String toString():返回该对象的字符串表达式 默认打印的是地址值 但是不同对象的地址值肯定不同
         //地址值的组成   全类名 = 包名 + 类名(java.lang :包名;Object: 类名) 地址值的组成 :全类名 + @ + 该对象的哈希码的无符号十六进制形式
         String s1 = obj1.toString();
         String s2 = obj2.toString();
         System.out.println(s1);
         System.out.println(s2);
         System.out.println("==========================");
 
         //boolean equals():比较两个对象是否相等 默认比较的是地址值 无意义(不同对象的地址值肯定不同) 子类一般都会重写这个方法
         boolean b1 = obj1.equals(obj2);
         System.out.println(b1);
    }
 
 }
 
 

 

posted @ 2021-02-02 20:25  豆豆tj  阅读(62)  评论(0)    收藏  举报