标准类制作:
构造方法
- 构建、创造对象的时候,所调用的方法
- 格式:
- 方法名与类名相同,大小写也要一致
- 没有返回值类型,连void都没有
- 没有具体的返回值(不能由retrun带回结果数据)
- 执行时机
- 创建对象的时候调用,每创建一次对象,就会执行一次构造方法
- 不能手动调用构造方法
作用:用于给对象的数据(属性)进行初始化
①:构造方法的创建
- 如果没有定义构造方法,系统将会给出一个默认的无参数构造方法
- 如果定义了构造方法,系统将不再提供默认的构造方法
②:构造方法的重载
如果定义了带参构造方法,就必须在写一个无参数构造方法
标准类制作(四步制类)
- :成员变量
- 使用private修饰
- 构造方法:
- 提供一个无参数构造方法
- 提供一个带多个参数的构造方法
- 成员方法:
- 提供每一个成员变量对应的setXxx()/getXxx()
- 提供一个显示对象信息show();
- 创建对象:
- 无参数方法创键对象后使用setXxx()赋值
- 使用带参数构造方法直接创键带有属性值的对象
String(字符串):
注意事项:String这个类比较特殊,打印其对象名的时候不会出现内存地址,而是该对象所记录的真实内容。
String类常见的构造方法:
- public String():创建一个空白字符串,不含有任何内容
- public String(char[] chs):根据字符数组的内容,来创建字符串对象
- public String(String original):根据传入的字符串内容,来创建字符串对象
- String s="abc":直接赋值的方式创键字符串对象,内容就是abc
字符串加号拼接的原理:
创建字符串对象的区别对比
1.“”方法:以“”方法给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会创立一个String对象,并在字符串常量池中维护
字符串常量池:但使用双引号创建字符串对象的时候,系统会检查该字符串是否在常量池中存在:
不存在:创键;
存在:不会重新创键,而是直接使用;
2.new方法:通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但地址值不同:
3.内容理解:
1)基本数据类型:比较的是具体的值、
2)引用数据类型:比较地址值
结论:双引号创建的字符串对象,在字符串串常量池中储存,通过构造方法创建的字符串对象,在堆内存中储存;
字符串的特点:
- Java程序中所用的双引号字符都是String对象
- 字符串不可变,他们的值在创键后不能更改
- 虽然字符串的值是不可变的,但是它们可以被共享。
字符串中常用的成员方法:
字符串的比较:equals()、equalsIgnorsCase()
字符串是对象,他比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()
在比较字符串内容的时候:想要忽略大小写则用:equalsIgnoreCase();
截取字符串:substring()
- String substring(int beginIndex):从传入的索引位置处,向后截取,一直截取到末尾,得到新的字符串并返回
- String substring(int beginIndex,int endIndex):从beginIndex索引位置开始截取,截取到endIndex索引位置,得到新字符串并返回(包含头,不包含尾)
替换敏感词:
String replace(CharSequence target,CharSequence replacement):将当前字符串的target内容,使用replacement进行替换,放回新的字符串
切割字符串:
public String[] split(String regex)根据传入的规则切割字符串,得到字符串数组
StringBuilder():
- StringBuiolder():跟字符串一样,打印其对象名的时候不会出现内存地址,而是该对象所记录的真实内容。
- 操作:提高字符串的操作效率
- 常有的构造方法:
- public StringBuilder() :创建一个空白可变字符串对象,不含有任何内容
- public SrtingBuilder(String str):根据字符串内容来创建可变字符串对象;
StringBuilder()中常用的成员方法:
public StringBuilder append(任意类型):添加数据,并返回对象本身
- public StringBuilder reverse() :返回相反的字符序列
- public int length():返回长度(字符出现的个数)
- publilc String toString() 通过toStrign()就可以实现吧StringBuilder转换位String
注意:
链式编程:如果一个方法返回的时对象类型,对象就可以继续向下调用方法。
StringBuilder a=new StringBuilder(); a.append("蓝色").append("灰色").append("紫色");
StringBuilder()和String()的区别:
- string:内容是不可变的;
- StringBuilder:内容是可变的;