• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

CGBTN2108-DAY11总结复习

互联网 diligentman 2小时前 2次浏览

DAY11 复习

0.面向对象练习:设计动物类与昆虫类

答案:练习帖2 点我点我

学习API阶段的前提:

  1. API是一些别人制定或者写好的应用程序接口/功能
  2. 学习的重点:学习这些功能如何更好的使用,怎么使用,使用后有什么效果
  3. 比如:怎么创建某个类的对象–看构造方法
    怎么使用某个功能–需不需要传参数,传什么样的参数
  4. 比如:这个方法有什么样的结果/执行效果:结果看返回值类型,效果要在IDEA去尝试
  5. 所以我们可以把API手册当成一个“字典”,哪里不会查哪里

1. 顶级父类 java.lang.Object

  1. Object是Java中所有类的超类,Java中的类都直接或者间接的继承自Object
  2. 如果一个类没有明确的指定父类,那么这个类默认继承Object
  3. java.lang包是Java的核心包,无需导包,会自动导入

1.1 hashCode()

作用:返回对象对应的哈希码值,Object中默认实现根据对象的地址值生成哈希码值,对象不同,哈希码值应该不同

1.2 toString()

重写前:打印对象的地址值

注意:我们要牢记Object中的默认实现方式,只要与默认实现不同,说明当前类就重写了Object中的实现
至于重写后是什么样的效果,得看具体的重写方式:
自定义类Student重写后: 打印Student类型 + 属性 +属性值【这个是我们自己写的类】
String类重写后:打印的是字符串的具体内容【Java自带的类】

1.3 equals()

重写前:等等比较,比较的是两个对象的地址值
注意:我们要牢记Object中的默认实现方式,只要与默认实现不同,说明当前类就重写了Object中的实现
至于重写后是什么样的效果,得看具体的重写方式:
自定义类Student重写后:比较两个对象的类型+属性+属性值
String类重写后:比较的是两个字符串的具体内容

注意1:toString()不是我们主动调用的,是println()层层调用
如果你打印某个类的对象时,不想打印地址值,可以在这个类里添加重写的toString()
注意2:equals()与hashCode()的重写要一致,要重写都重写,要不重写都不重写

查找类的4种方式:

  1. 查API手册 点这里:API手册使用指导
  2. 连点两下Shift打开IDEA的搜索,注意勾选"include non-Project items",再搜Object
  3. 按住Ctrl点hashCode()
  4. 在拓展库External Libraries找到jdk1.8->rt.jar->java.lang.Object
    public class TestObject {

2 String 类

  1. 底层的结构是字符数组char[ ]
  2. String的常用方法

String API总结

int hashCode() 返回此字符串的哈希码。
boolean equals(Object anObject) 将此字符串与指定的对象比较,比较的是重写后的串的具体内容
String toString() 返回此对象本身(它已经是一个字符串!)。

int length() 返回此字符串的长度。
String toUpperCase() 所有字符都转换为大写。
String toLowerCase() 所有字符都转换为小写
boolean startsWith(String prefix) 测试此字符串是否以指定的元素开头。
boolean endsWith(String suffix) 测试此字符串是否以指定的字符串结束。

char charAt(int index) 返回指定索引/下标处的 char 值/字符
int indexOf(String str) 返回指定字符在此字符串中第一次出现处的索引
int lastIndexOf(String str) 返回指定字符在此字符串中最后一次出现处的索引
String concat(String str) 将指定字符串连接/拼接到此字符串的结尾,注意:不会改变原串
String[] split(String regex) 根据给定元素来分隔此字符串。

String trim() 返回去除首尾空格的字符串
byte[] getBytes() 把字符串存储到一个新的 byte 数组中
String substring(int beginIndex) 返回一个新子串,从指定下标处开始,包含指定下标
String substring(int beginIndex, int endIndex) 返回一个新子串,从执定下标开始,到结束下标为止,但不包含结束下标
static String valueOf(int i) 把int转成String

2.1 String的创建方式

方式一:

char[] values = {‘a’,‘b’,‘c’};
String s1 = new String(value);
注意:每new一次,创建一个String对象,存在堆中

方式二:

String s = “abc”;
注意:存在堆中的常量池中,有高效的效果,如果是第二次创建,不会新建
注意:== 比较的如果是引用类型,那么是地址值
注意:String重写了Object中的toString(),所以可以直接打印字符串的具体内容
String重写了Object中的equals(),所以比较的也是两个字符串的具体内容

2.2 StringBuilder 与 StringBuffer

  1. 使用前提:String提供了丰富的操作字符串的方法,所以操作字符串时还使用String
  2. String拼接字符串时使用+进行拼接,效率比较低,所以需要使用工具
  3. 创建方式:StringBuffer sb = new StringBuffer();
    StringBuilder sb2 = StringBuilder();
  4. 常用方法:append()拼接效率高

程序员灯塔
转载请注明原文链接:CGBTN2108-DAY11总结复习
喜欢 (0)