JAVA API Object String StringBuffer/StringBuilder

1.前言

亲爱的小伙伴们,目前我们看到的是java基础部分的一个新的部分API。这是个啥

又能做啥呢?

其实可以概括成一句话,帮助我们站在巨人的肩膀上,实现更加高效的

开发,那么我们来一探究竟吧!

2.什么是API

API(Application Programming Interface ,应用程序接口)是一些预先定义的函数

目的是提供应用程序与开发人员基于某软件可以访问的一些功能集,

但又无需访问源码或理解内部工作机制的细节。API是一种通用功能集

有时公司会将API作为其公共开放系统,也就是公司制定自己的系统接口

标准,当需要进行系统整合,自定义和程序应用等操作时,公司所有成员

都可以通过接口标准调用源代码。

======================================================

java.util包是java中的工具包,包含各种实用工具类/集合类/日期时间工具等各种常用的工具包。

imprt.java.util.Scanner;

import.java.util.Arrays;

java。lang包是java的核心,包含了java基础类

包括基本object类/Class类/String类/基本数学类等最基本的类,这个包无需导入

,默认会自动导入。。

import.java.lang.Object;

import.java.lang.String;

import.java.lang.StringBuilder/StringBuffer

正则表达式

包装类等等

那么接下来我们会学习一些常用的类,帮助大家完成“基建工程”,首先第一位选手

就是传说中的Object类。

3.Object

3.1概念

Object 类是所有java类的祖先,也就是说我们所说的顶级父类

它存在于java。lang。Object。这个包不需要我们手动导包

需要注意的是每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法

在不明确给出超类的情况下,java会自动把Object类作为要定义类的超类

/*本类用于测试顶级父类Object*/

public class TestObject{

mian{

//4.创建对象进行测试

Student s = new Student("海绵宝宝",3);

Student s2 = new Student("海绵宝宝",3);

/*用于测试toString();*/

//5.打印对象的属性值

//重写前:。。。api.Student@1b6d3586//没有明确指出父类,这是object的toString

//重写后:对象的类型与属性值

println(s);

println(s2);

/*用于测试hashCode()*/

*本方法的作用用于返回对应的哈希码值*

*本方法力求不同对象尽量返回不同的哈希码值*

*我们可以大致理解成不同对象的哈希码值就是不同的*

*极低的概率会一样,我们称之为哈希碰撞。*

//7.打印对象的哈希吗值

println(s.hashCode);

println(s2.hashCode);

/*本类用于测试equals();*/

*本方法底层的判断逻辑是==比较,==比较比较的是左右两边的值*

**而s与s2是引用类型Student的对象,保存的是两个不同的地址值

*所以,地址值不同,equals()返回false*

//8.打印equals()

println(s.equals(s2));//false

}

}

//创建学生类

class Student{

//2.定义属性

String name;//姓名

int age;//年龄

//3.添加无参与含参构造

//右键—》generate ->Constructor->select None->无参构造

//右键-》Generate->Constructorr->Shift全选所有的属性-》OK-》全参构造

//3.2添加无参构造与含参构造

public Student(String name,int age){

this.name = name;

this.age = age;

}

//右键-》Generate-》toString()-》OK

//6.在Student类中添加重写的toString()

//右键-》Generate-》toString()-》OK

//6.在student类中添加重写的toString方法。

@Override

public String toString(){

return "Student{"+

              "name=' " + name + '/'' +

              ", age =" + age +

              '}';

}

//9.添加重写的equals()

//右键-》Generate-》equals()与hashCode()-》一顿next即可

@Override

public boolean equals(Object o){

if(this==0) return true;//如果if后面只有一句可以省略大括号,第一步,判断地址值是否一样!

if(0 == null|| getClass() ! = o.getClass()) return false;

//判断对象有没有地址值,判断对象类型是否一致。                                                                          Student student = (Student) o;//强制类型转换

return age == student.age && Objects.equals(name, student.name)

//引用类型要用equals来比较,==号直接比较值是否一样。

}

@Override

public int hashCode(){

return Object,hash(name, age);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值