JAVA小白第五天学习心得-----内部类和object

本人纯小白,只是将CSDN当作一个记笔记平台,如有大佬发现错误,请及时告知,万分感谢!!

-------------------------------------------------------------------------------------------------------------------------------

前言:本次学习了,内部类,匿名内部类,object,字符串,String重写equals,StringBuffer,

StringBuilder,其中因该理解String和StringBuffer,StringBuilder三者的区别;

一,内部类;

内部类就是在一个类里面在重新建一个类,两个类可以相互调用,但要注意的是在相互调用其属性方法时,都要额外创建一个方法,然后再该方法中创建你想要调用的类的对象,然后在调用方法;

需要注意的是,在测试类中想要调用内部类对象时,应在=右边先new一个外部类.在new一个内部类才能调用;
2;匿名内部类;这个作用是在你需要创建一个抽象类或者接口时,有的方法只需要用到一次,那么就可以直接在测试类中使用这个匿名内部类了;

格式:接口 变量 = new 接口() {
    
};

二,object

object是所有子类中的一个根类

  1. toString()

返回该对象的字符串表示。通常toString方法会返回一个“文本方式表示”此对象的字符串。结果应该是一个简明易懂的信息表达式。建议所有的子类都重写此方法。

  1. hashCode()

由Object类定义的hashCode方法给不同的对象返回不同的整数

  1. finalize()

用于垃圾回收,我们不用手动去调用,由JVM来调用,当垃圾回收器确定不存在该对象的引用时,由对象的垃圾回收器调用此方法。

  1. equals()

比较两个对象地址的值。自定义类重写equals用来比较这两个对象是否相等。

==用于比较基础数据类型时是比较值的大小;

==用于比较引用数据类型时是比较地址值;

三,字符串;

‘’代表单字符;“”代表字符串

String字符串也是引用数据类型;

声明字符串有两种方法

1,是直接声明;String str1=“bsajkghdikahdkla”;

2,是使用对象来声明;String str2=new String(“kjdhaioljdpolwajd”);

两者最主要的区别还是在与存储空间的不同;

第一种直接声明的方法会在堆里的常量池中寻找,如果没有就在常量池中创建一个对应的字符串;

并将该字符串的位置复制给栈空间;

第二种则是在堆空间中创建一个new对象,然后常量池中的地址复制给堆空间所创建的对象空间,而对象空间在堆里的位置在通过赋值给栈里的存储位置,所以第二种栈空间中存放的是堆中对象的地址;

2,字符串的一些使用方法可以看课件;

2.1其中分割字符串可以采用split方法,需要注意的是需要再创建一个数组用于接收分割后的字符串;

String str1="jakdhalhaoliajda";

String[] str2=str1.split("ha");
//通过循环将被裁剪后的数组打印出来
for (int i = 0; i <str2.length ; i++) {
    System.out.println(str2[i]);
}

2.2替换数组也有点不同;

String str1="jakdhalhaoliajda";
//将字符串中的j全部换成了k;
System.out.println(str1.replace("j","k"));

2.3涉及想要集中调换几个字符时可以采用以下方法

String str3="6487161864981";
System.out.println(   str3.replace(str3.substring(3,7),"****"));

四,String重写equals;

经过String重写equals以后,比较的就不再是地址了,而是直接比较字符串里的东西;

五,

StringBuffer

在输出时应该要创建一个对象然后在对象的那个框里进行赋值;

进行拼接时可以使用appen进行拼接

反转字符串时可以使用创建StringBuffer对象,然后使用stringbuffer中的reverse方法就可以实现字符串反转

StringBuffer是线程安全的,创建后值可以变化,可以添加、修改、删除值,但不会改变地址,不会产生新的字符串。

线程安全有利有弊,它提高了安全性,但是牺牲了性能。

六,

StringBuilder

非线程安全的可变字符串。

用法和StringBuffer一样,只是StringBuilder是非线程安全的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值