JavaAPI函数库讲解(详细)

 在Java中,API(Application Programming Interface)函数库是一组预定义的类、接口和方法,用于开发人员在编写Java应用程序时使用。它提供了一种标准化的方式,使开发人员能够与Java平台进行交互,并利用其中提供的功能和服务。

(大神封装好的函数库,咱直接用就行。)

在java的API中,类是被包在包中的(比如java.util包里有Arraylist类,java.lang包里有String类)。要使用API的类,你必须知道它被放在哪个包中。

因此,在程序的某个地方你必须要指明函数库类的完整名称,即包的名称加上类的名称。(包名.类名)目的就是归类。

比如,在我的Java录入个人信息教程中说过:

Java.util.Scanner sc = new java.util.Scanner(System.in);

Java.util就是包名,类名就是Scanner

什么情况下java中的类不需要加包名

在 Java 中,类不需要加包名的情况主要有两种:

1.在同一个包中的类之间的访问:当类和被访问的类位于同一个包中时,无需加上包名。

2. 使用java.lang包中的类:Java编译器会自动导入java.lang包,因此无需显式导入或加上包名。

使用来自API中的类是很简单的,只要把它们当作自己的就好。

我们拿Object类举个例子 

public class Review_API01 {
    public static void main(String[] args) {

    Student000 sss = new Student000();

    
    }
}

class Student000{

}

创建了一个名为Review_API01的公共类。

main方法中,创建了一个名为sssStudent000对象

我们之前说过每个类都默认继承Object类,那么Student000类肯定也继承Object类

来查询Oject类中有哪些方法?

在Java中,每个类都继承了Object类,而Object类中有一个hashCode()方法,用于返回对象的哈希码。

我们来尝试调用一下hashCode()方法

 

调用该方法,会返回该对象的哈希码值。

哈希码(Hash Code)是由对象的哈希函数(Hash Function)生成的一个整数值。

默认情况下,hashCode()方法会根据对象的内部地址或标识生成哈希码。

因此哈希码值不是对象的地址值哦,而是根据地址值转化为哈希码值的值。

public class Review_API01 {
    public static void main(String[] args) {

    Student000 sss = new Student000();

    System.out.println(sss.hashCode());
    }
}

class Student000{

}

 

输出结果为1163157884

再来看看Object类的toString方法

当你调用一个对象的toString()方法时,它会返回一个字符串,这个字符串通常由对象的类名、一些标识信息和属性值组成。

我们创建对象,设置变量,看看它能不能返回一个简明易懂的信息表达式(包含类名,名字和年龄等信息)

public class Review_API02 {
    public static void main(String[] args) {
  Student0001 wa = new Student0001();
  wa.setAge(20);
  wa.setName("Emma");

  System.out.println(wa.toString());
    }
}


class Student0001{
private int age;
private String name;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

输出结果Student0001@4554617c

啊?这输出的一堆数字是啥玩意啊?

别急,图里不说了吗?

换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())
 

所以为了得到简明易懂的信息表达式,我们还是要进行显示重写的嘞

public class Review_API02 {
    public static void main(String[] args) {
  Student0001 wa = new Student0001();
  wa.setAge(20);
  wa.setName("Emma");

  System.out.println(wa.toString());
    }
}


class Student0001{
private int age;
private String name;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override//重写
    public String toString() {
        return "Student0001{" +
                "age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}

输出结果:

Student0001{age=20, name='Emma'}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值