一些碎的知识点(未整理

本文介绍了Java中的类结构,包括成员变量、方法、构造器和内部类,强调了封装的概念。讨论了构造器的特性,以及JavaBean的标准格式。此外,还涉及了内存管理,如栈和堆的区别,以及基本和引用数据类型的赋值行为。文章还详细讲解了StringBuilder的使用和性能考虑,以及StringJoiner在构建字符串时的角色。最后提到了方法的重载作为代码复用和维护性的提升手段。
摘要由CSDN通过智能技术生成

Java中的类

public class 类名{
    1.成员变量
    2.成员方法
    3.构造器
    4.代码块
    5.内部类
}

相当于C语言中的结构体

封装:对象代表什么,就得封装相应的数据,并且提供数据对应的行为;

例子:人画圆

得到俩个对象,一个是人的对象,一个是圆的对象,因为要画圆的话,首先要知道圆的半径,而这个数据是属于圆的数据,那么画圆这个行为应该是要属于圆。

private:被此关键字修饰的成员只能在本类中访问(保证数据安全性)

public:公有的变量

构造方法(构造器):创建对象的时候,虚拟机会自动调用构造方法,作用是给成员变量进行初始化的;

特点:

1.方法名与类名相同,大小写也要一致

2.没有返回值类型,连void也没有

3.没有具体的返回值(不能由return 带回结果)

空参构造和有参构造(一般都会手动加上,无论用不用)

注意:没有写无参构造,是不能够调用无参构造的(如果没有写无参构造,虚拟机默认是无参构造,自己写了虚拟机就不会加上了)

标准的JavaBean类

1.类名需要见名知意

2.成员变量使用private修饰

3.至少提供俩种构造方法(无参构造和带全部参数的构造方法)

4.成员方法(提供每一个成员变量对应的set...() 和 get...(),如果还有其他行为也需写上)

有new这个关键字就会进堆内存,基本上是成员变量进堆内存

栈内存中记录堆内存的空间位置

 p88

基本数据类型:数据值是存储在自己的空间中的特点:赋值给其他变量,也就是赋的真实的值(堆内存)

引用数据变量类型:数据值是存储在其他空间中,自己存储的是地址值。(栈内存)

特点:赋值给其他变量,赋的地址值。

p89

this的内存原理

this的作用:区分局部变量和成员变量

this的本质:所在方法调用值的地址值

就近原则:也就是局部变量和全局变量的区别

StringBuilder

可以看成一个容器

注意:toString 转换的字符串是new 出来的,是引用数据类型

如果没有变量参与,直接加的话是会复用串池中的字符串

如果有变量参与,那么就会在内存中重新创造新的字符串,会浪费内存

例如:

Sting s1 = "abc";
String s2 = s1 + "abc";//此时用到了变量s1,所以会重新开辟一个地方来存储s1的值
String s3 = "abc" + "abc"; //此时就是复用串池里面的数据,不会重新开辟空间

知识点:StringBuilder初始容量是16,若输入的字符串大于16但是小于34(*2+2),那么就是长度是正常长度,容量是34,若大于34,那么容量和长度相等;

例如:

  StringBuilder sb = new StringBuilder("yyq");
        System.out.println(sb);//输出结果是  yyq

        sb.append(1);
        sb.append(1.4);
        sb.append(true);
        System.out.println(sb);//输出   yyq11.4true

        sb.reverse();
        System.out.println(sb);//输出   eurt4.11qyy

StringJoiner

 StringJoiner sj = new StringJoiner(delimiter<间隔符> : "" , prefix<开始符>: "" , suffix<结束符> : "");

例如:

  StringJoiner sj = new StringJoiner("---","[","]");
      //添加元素
        sj.add("yyq").add("xyyz").add("zx");

        System.out.println(sj);//输出   [yyq---xyyz---zx]

方法:程序中最小的执行单元

自我理解:也就相当于C语言中的函数

好处:提高代码的可维护性和复用性

方法的重载:同一个类中,方法名相同,参数不同的方法,与返回值无关

个数不同,类型不同,顺序不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值