面向对象三大特征之一——封装

一.封装的描述

封装的概述:封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的

封装的原则:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

成员变量使用private关键字修饰,当外部类想要访问,需要已修饰private的类里提供getXxx和setXxx方法

封装好处:通过方法来控制成员变量的操作,提高了代码的安全性把代码用方法进行封装,提高了代码的复用性

1.1 private关键字

private是一种修饰符,它可以修饰成员变量和成员方法

当private修饰了成员变量,则该变量只能在本类进行访问,如果需要被外部类调用,则本类中需要提供getXxx和setXxx方法

public 数据类型getXxx(),用于获取成员变量的值,方法使用public进行修饰

public 数据类型setXxx(),用于设置成员变量的值,方法使用public进行修饰

若开发工具选择IDEA,则可以按ALT+Ins,进而选择Getter和Setter来进行快捷开发

1.2 this关键字

this是一种修饰符,this指向的是成员变量。当传递时,方法的形参和成员变量同名时,使用this指代的成员变量,而不带this指代的是形参;当方法的形参和成员变量不同名,则很好区别了;

二.构造方法

构造方法是一种很特殊的方法,主要用于创建对象

格式:

public class 类名{

修饰符 类名( 参数 ) {//有参构造

}

}

如果没有定义出构造方法,系统默认给出无参构造方法

一上面格式为例,若有参构造不存在 则 默认给出了 public 类名(){//无参构造

内容;

}

如果已存在如格式中的有参构造,则系统不再提供默认的构造方法

有参无参的构造方法使用的就是方法的重载,如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法。

三.String类

3.1 String类概述

String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!

3.2String类的特点【理解】

字符串不可变,它们的值在创建后不能被更改(底层是被final修饰)

虽然 String 的值是不可变的,但是它们可以被共享

字符串效果上相当于字符数组( char[] ),但是底层原理是字节数组( byte[] )

3.3创建字符串对象两种方式的区别

3.3.1通过构造方法创建

通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同。所以输出结果为false

3.3.2直接赋值方式创建

以""方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,所以结果为true

3.4字符串的比较

总所周知,在基本数据类型中,我们比对俩边值是否一致时都使用了"==",但在引用数据类型中,使用"=="比对的不是俩边的值,而是俩边对应存放的地址值。

那么在字符串比较中,就用到了equals方法,专门用来比对俩边的值

四.StringBuilder类

4.1概述:

StringBuilder 是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的

4.2StringBuilder类和String类的区别

String类:内容是不可变的

StringBuilder类:内容是可变的

格式

StringBuilder 变量名 = new StringBuilder(有参/无参);//创建StringBuilder对象

4.3StringBuilder类的添加和反转方法

当创建完对象后,便可以使用 变量名.append(任意类型);来进行添加数据,在返回给本身

也可以通过 变量名.reverse();返回字符的相反序列

4.4StringBuilder和String相互转换

StringBuilder转换为String

public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String

String转换为StringBuilder

public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值