常用类process1

1、内部类

在一个类内部再定义一个类(class)

特点:

  1. 编译后可生成独立的字节码文件
  2. 内部类也可访问外部类的私有(private)成员且不破坏封装
  3. 可为外部类提供必要的功能组件

1.1成员内部类

package inner;
//成员内部类
public class menberOuter 

1.2静态内部类

package inner;
//静态内部类
public class stOuter 

1.3局部内部类

package inner;
//局部内部类
public class pOuter 

1.4匿名内部类

package inner;
//接口实现多继承,需要重写接口中得方法再实现,这里讲通过局部内部类来实现(但只能使用一次——通过局部内部类来优化)
public class Utest

2、Object类

根类——默认所有类都继承

2.1getClass(){}方法

返回引用中存储得实际对象类型,通常用来判断两个引用中实际存储对象类型是否一致

2.2hashCode(){}方法

返回对象得哈希码值(根据对象得地址或字符串或数字计算出来得int数字)

一般情况下返回相同得哈希码值

2.3toString(){}方法

返回该对象的字符串表示

可以进行覆盖该,如:展示对象各个属性值

2.4equals(){}方法

boolean类型,默认实现为(this==obj),比较两个对象地址是否相同

可以进行覆盖,比较两个对象内容是否相同

  1. 比较两个引用是否指向同一个对象
  2. 判断obj是否为null
  3. 判断两个引用类型指向的实际对象是否一致
  4. 强制类型转换
  5. 依次比较各个属性值是否相同

2.5finalize(){}方法

  • 一般当对象判定为垃圾对象时,由JVM自动调用此方法,用以标记为垃圾对象行列

  • 垃圾对象:没有有效引用指向此对象时

  • 垃圾回收:由GC销毁垃圾对象,释放数据储存空间

  • 自动回收机制:JVM内存耗尽 ,一次性回收所有垃圾对象

  • 手动回收机制:使用System.gc();通知JVM执行垃圾回收

    package ob1;
    
    import java.util.Objects;
    
    //getClass 通常用来判断两个引用中实际存储对象类型是否一致
    //hashCode 返回对象得哈希码值(根据对象得地址或字符串或数字计算出来得int数字),一般情况下相同
    public class Stuent 
    

3、包装类

  • 基本数据类型所对应的引用数据类型
  • Object可统一所有数据类型 , 包装类的默认值为null
  • 八大基本类型包装类首字母大写,除int——Integer,char——Character

在JDK版本包(中文版)可以查看详细内容

3.1类型转换-装箱和拆箱

基本类型(栈)与引用类型-包装类(堆)的转换

栈——>堆(装箱),反之拆箱

  1. Number父类提供的6个共性方法

3.2基本类型和字符串转换

  1. paraseXXX()静态方法

在做转换时,保证类型兼容

package cast;
/*
转换方法
1.Number父类提供的6个共性方法
2.paraseXXX()静态方法
3.valueOf()静态方法
 */
public class Demo1

4、Integer缓冲区

Java预先创建了256个常用的整数包装类型对象

Integer integer3 = 100;//自动装箱,shif+f4查看代码详细语句-实际调的Integer.valueOf(100)方法,点住语句Control键查看源码-128到127

package cast;
//Integer缓冲区-Java预先创建了256个常用的整数包装类型对象
//shif+f4查看代码详细语句
public class Demo2

5、String字符串

5.1String

  1. 字符串创建以后不可以改变
  2. 字符串储存在字符串池中,可以共享
  3. 字符串的另一种创建方式String str = new String("另一种创建方式")

5.2String常用方法

5.2.1字符串返回控制

  1. length();返回字符串的长度,从0开始,一个字符算一个(空格也算一个字符)

  2. charAt(int index);返回某个位置的字符串,最后一个字符要减一(因为从0开始),否则会报错

  3. contains(String str);判断是否包含某个字符串

  4. toCharArray();返回字符串对应的数值

  5. indexOf(String str);返回字符串首次出现的位置-还可以指定开始

  6. lastIndexOf(String str);返回字符串最后出现的位置

5.2.2字符串修改

  1. trim();去掉字符串前后的空格

  2. toUpperCase();把小写改成大写,toLowerCase();把大写改成小写

  3. endWith(String str);判断是否以str结尾,startswith(str);判断是否以str开头

  4. replace(char oldChar,char newChar);用新的字符或字符串替换旧的字符或字符串

  5. split(String str);对字符串进行拆分

  6. equals();比较内容,equalsIgnoreCase();compare();忽略大小写的比较,比较字典表中的大小

    package str;
    
    import java.util.Arrays;
    
    //String
    public class Demo1 
    

5.3案例演示

已知String str = "this is a text"

  1. 将str中的单词单独提取出来

  2. 将str中的text替换为practice

  3. 在text前面加入一个easy

  4. 将每个单词的首字母改为大写

    package str;
    /*
    已知String str = "this is a text"
    1.str中的单词单独提取出来
    2.str中的text替换为practice
    3. 在text前面加入一个easy
    4. 将每个单词的首字母改为大写
     */
    public class Demo2
    

5.4StringBuffer和String Builder

  • StringBuffer,可变长字符串,效率慢,线程安全

  • String Builder,可变长字符串,效率快,线程不安全——推荐使用

效率比String高并且更节省空间

  1. append();追加

  2. insert();添加

  3. replace();指定位置替换

  4. delete();删除

  5. 清空,sb.delete(0,sb.length());

    package str;
    /*
    - StringBuffer,可变长字符串,效率慢,线程安全
    - String Builder,可变长字符串,效率快,线程不安全——推荐使用
    效率比String高并且更节省空间
     */
    public class Demo3
    

6、BigDecimal类的使用

小数类型在存储时采用的近似——使用BigDecimal精度更高

进行计算时采用的调用方法

  1. subtract();减法

  2. add();加法

  3. multiply();乘法

  4. 复合运算的div();除法—注意这里除不得是除尽的,用除中的BigDecimal保留,BigDecimal.ROUND_HALF_UP(四舍五入)

    package bd;
    /*
    小数类型在存储时采用的近似——使用BigDecimal精度更高
    进行计算时采用的调用方法
     */
    import java.math.BigDecimal;
    import java.math.RoundingMode;
    public class Demo1
    

7、Date类的使用

表示特定的瞬间,精确到毫秒,但已被Calender类所替代

但有些还在用

打印当前时间

Date date1 = new Date();
System.out.println(date1.toString());
        1.after(); ,before();
        2.comparedTo();
        3.equals();
        
package dt;
/*
Date
表示特定的瞬间,精确到毫秒,但已被Calender类所替代
但有些还在用
 */
import java.util.Date;
public class Demo1

8、Calender类的使用

Calender提供了获取或者设置各种日历字段的方法

构造方法protected Canlender();由于修饰符是protected,所以无法直接创建该对象

2.获取参数值-点进Calendar进去看可以获得参数值
3.set();修改时间
4.add();方法修改时间
5.补充方法,getActualMaxinum();这个月的最大天,getActualMininum();这个月的最小天

package bd;
/*
Calender提供了获取或者设置各种日历字段的方法
构造方法protected Canlender();由于修饰符是protected,所以无法直接创建该对象
 */
import java.util.Calendar;

public class Demo2

9、SimpleDateFormat类的使用

格式化(把日期转成字符串),解析(把字符串转成日期)

y,M,d,H(24小时),m,s,S(毫秒)

package bd;
/*
格式化(把日期转成字符串),解析(把字符串转成日期)
y,M,d,H(24小时),m,s,S(毫秒)
 */
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo3

10、System类

System系统类,主要用于获取系统的属性数据和其他操作,构造方法是私有的(直接引用)

10.1static void arraycopy();-复制数组

  • arraycopy();-复制数组,src-源数组,srcPos-从那个位置开始复制(第一位置是0),dest-目标数组,destPose-目标数组的位置,length-复制的长度
  • Arrays.copyOf与之的区别:效率更高

10.2static long currentTimeMillis();以毫秒返回当前时间

10.3static void gc();启动垃圾回收站(JVM)

10.4、static void exit(int status);退出(JVM),0表示正常,非0表示异常

package st;
//System
public class Demo1 
posted @   37201  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示