2021.01.12第一阶段 07

一、Object类型

(一)API
1、API:Application Programming Interface,应用程序编程接口
2、接口:用于定义方法名称和参数列表等的规则的集合。定义了方法名称、参数列表、返回值类型及权限修饰符等,包括方法的功能
3、实际上,应用程序编程接口,也包含了类、接口、枚举等一系列的内容
4、我们在学习的时候,更多的是关注内容部分,而不是内容如何实现
(二)类库
1、Java代码在编译之后,会生成【.class】文件,包含了代码中的所有内容,我们在没有源代码的前提
下,直接使用【.class】文件,代码依然能够正常执行
2、Java中的【.class】文件,又叫做字节码文件,可以继续打包成jar文件,jar文件,又叫做jar包,是java【.class】文件组成的java特有的压缩包格式,只要获得一个jar包,就能够得到jar包中所有的【.class】文件
3、jar包的封装和使用:
(1)写代码,将要封装的代码编译成【.class文件】
(2)在工程上或者是要封装为java的代码上右键 -> export -> Java -> JAR file -> 选择jar包的存放路径-> 为jar包起名字 -> finish即可
(3)在要使用jar包的工程内,创建一个lib目录,之后将jar文件粘贴进lib目录内
(4)右键jar包,选择build path -> add to build path,之后,在工程中只要出现一个“奶瓶”的图标,就证明添加到工程中了,就可以在代码中正常使用
4、类库(类型库):
(1)一个jar包内容太少,好多个jar包就组成一个类库
(2)一旦引入类库,就相当于拥有了很多jar包,就意味着有了非常多的【.class】文件,我们直接通过导包的方式将jar包中的内容引入到我们的代码,使用即可
(三)Object概述
1、Object是所有类型的父类,是所有Java类型直接或者间接的父类,所有类型都可以使用Object类型的方法,包括数组。
2、随意定义一个类型,只要不明确说明继承哪个类,就都会默认直接继承Object
3、Object类型属于java.lang包,只有java.lang包不用导包
4、Object类型具有一个空参构造
(1)可以自己创建对象
(2)可以让子类构造来访问
(3)Object的构造不会再去访问其他类型的构造了,因为:Object类型没有父类可以访问了
(四)getClass
1、可以返回某个对象的运行时类
2、运行时类:真正创建的那个对象,所属的类型
3、Class类型(不多解释),表示一个Java类的类,它的对象,就是加载到方法区的那个字节码对象
4、其中Class类中,有一个getName方法,可以获取字节码对象表示类型的类名
(五)equals方法(重点)
1、作用:用于比较调用者对象和参数对象是否相等,相等返回true,不相等返回false
2、Object类中的equals方法,按照对象的地址值判断对象是否相等,只要地址值不同,就返回false
3、我们希望按照对象的属性值比较而不是按照对象的地址值比较
4、在子类中重写equals方法,不要按照地址值比较对象,而是按照属性值比较对象,只要属性全部相同,就判定为同一个对象,返回true,反则反之。
5、重写原则:判断两个对象的属性是否完全相同
(六)== 和equals的区别(重点
1、相同点:用于比较数据是否相等的方式
2、不同点:
(1)**是运算符,equals是方法
(2)
可以比较基本数据类型,equals不能比较基本数据类型
(3)
可以比较引用数据类型,equals也能比较引用数据类型
(4)
**比较基本数据类型比较值,比较引用数据类型比较地址
(5)equals方法重写前比较引用数据类型比较地址,重写后比较值
(七)hashCode方法
1、根据对象的情况,生成一个整数,就是哈希码值,生成数字的方法就是hashCode
2、生成数字的原则:
(1)在同一次运行中,对同一个对象调用多次hashCode方法,得到的哈希码值必须一致
(2)当两个对象相同时,他们调用了hashCode方法生成的哈希码值也一定是一致的
(3)当两个对象不相同时,【不要求】他们调用hashCode方法一定返回不同的结果
3、Object类中的hashCode方法,确实会根据不同的对象生成不同的整数
(八)toString方法
1、作用:返回对象的字符串表示形式
2、Object类型中的toString方法是将对象的地址转化为字符串的表示形式并且返回
3、具体的转化方式:getClass().getName() + “@” + Integer.toHexString(hashCode())
4、由于直接打印地址值对我们的作用不大,我们希望打印对象内的属性值,所以在要打印的对象所属类
型内,重写toString方法,按照属性值输出即可
5、当我们打印一个对象的时候,实际上就是在打印这个对象的toString内容
(九)生成自动重写方法的快捷
1、生成equals方法的快捷键:alt + shift + s H,生成equals和hashCode方法,现阶段先将hashCode
删掉
2、生成toString方法的快捷键:alt + shift + s S

二、String

(一)概述
1、String类型用于表示字符串,属于java.lang包,不需要导包
2、所有的字符串字面量都可以作为String类型的对象(例如:“abc”)
3、字符串字面量属于常量,存储在方法区的常量池中
4、字符串又叫做不可变字符序列,因为String中没有提供任何修改的方法
5、String str = “abc”;我们可以理解为将字面量"abc"的地址存储到了str的内存中
6、String str1 = “abc”; String str2 = “abc”;System.out.println(str1 == str2);最终返回的结果为true,因为字符串字面量在创建的时候,先判断是否存在,如果存在就直接使用已有的内容的地址值引用过来,如果没有才去创建
(二)构造方法
1、String() 创建一个表示空字符串的对象
2、String(byte[] bytes, int offset, int length) 按照平台默认的字符集解析byte[]中的内容为字符,offset用于指定从数组哪里开始(索引),length要解析的个数
3、String(char[] value, int offset, int count) 将字符数组中的内容转为字符串,offset用于指定从数组哪里开始(索引),count要解析的个数
4、String(String original) 创建一个字符串副本(字符串字面量存储在常量池中,构造方法创建的内容在堆内存中)
5、String(StringBuffer buffer) 分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。
6、String(StringBuilder builder) 分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列。
(三)String类型的判断功能
1、equals(Object anObject) 比较两字符串字面值是否相等
2、equalsIgnoreCase(String anotherString) 忽略大小写比较两个字符串是否相等
3、contains(String s) 当参数字符串是调用者字符串的子集返回true,参数字符串必须是调用者字符串中连续的一段
4、startsWith(String prefix) 判断调用者字符串是否以参数字符串开头
5、endsWith(String suffix) 判断调用者字符串是否以参数字符串结尾
6、isEmpty() 当字符串的字符个数为0的时候,返回true
四)String类型的获取功能
1、length() 返回字符串的长度
2、charAt(int index) 返回字符串指定索引的字符
3、substring(int beginIndex) 从调用者字符串截取一个子字符串,范围是指定索引到结尾
4、substring(int beginIndex, int endIndex) 从调用者字符串截取一个子字符串,范围是[beginIndex,endIndex)
5、indexOf家族:返回指定字符或者字符串在调用者字符串中第一次完整出现的索引
6、lastIndexOf家族:返回指定字符或者字符串在调用者字符串中最后一次出现的索引
(五)String类型的转换功能
1、getBytes() 将调用者字符串转为byte数组
2、toCharArray() 将调用者字符串转为char数组
3、toUpperCase() 将调用者字符串转为纯大写
4、toLowerCase() 将调用者字符串转为纯小写
5、concat(String str) 将调用者字符串和参数字符串进行拼串操作
6、static valueOf重载:将各种数据类型转换为String的表示形式
(六)String类型的其他方法
1、replace(CharSequence target, CharSequence replacement) 在调用者字符串上,使用第二个参
数的内容去替换所有第一个参数的内容
2、trim() 去掉字符串的前导空白和尾部空白

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值