黑马程序员——String类与this关键字

来源:互联网 发布:ftp服务器软件绿色版 编辑:程序博客网 时间:2024/05/22 06:07

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

     String类与this关键字

String类

String是编程语言中的字符串, String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。String 对象的值是该有序集合的内容,并且该值是不可变的,字符串是一个特殊的对象。String类代表字符串,java程序中的所有字符串字面值都作为此类的实例实现。字符串是常量,他们的值在创建之后不能更改。字符串缓冲区支持可变的字符串,因为String对象是不可变的,所以可以共享。字符串中的包含的字符数,也就是字符串的长度int length();获取长度。根据位置获取位置上某个字符,char charAt(int  index);。根据字符获取该字符在字符串中位置,int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。下面是一个String类的小练习。
class StringTest
{
public static void sop(String str)
{
System.out.println(str);
}

public static void main(String[ ] args)

{

String s="     ab  cd       ";

sop("("+s+“)”);

s = myTrim(s);

sop("("+s+“)”);

}

public static String myTrim(String str)

{

int start = 0,end = str.length()-1;

while(start<=end && str.charAt(start)==' ')

start++;

while(start<=end && str.charAt(start)==' ')

end--;

return str.substring(start,end+1);

}

}

this关键字

this看上去是用于区分局部变量和成员变量同名情况,this代表它所在函数所属对象的引用,也就是说哪个对象在调用this所在的函数,this就代表哪个对象。当定义类中功能时,该函数内部就要用到调用该函数的对象时,这时用this来表示这个对象,但凡本类功能内部使用了本类对象,都用this表示。在类的构造函数中出现的this作为一个值类型,它表示对正在构造的对象本身的引用;在类的方法中出现的this作为一个值类型,表示对调用该方法的对象的引用;在结构的构造函数中出现的this作为一个变量类型,表示对正在构造的结构的引用;在结构的方法中出现this作为一个变量类型,表示对调用该方法的结构的引用;被用来区分类成员及本地的成员;除此之外,其他地方使用this保留字都是不合法的。this语句用于构造函数之间进行互相调用,只能定义在构造函数的第一行,因为初始化要先执行。
public class Hello {

     String s = "Hello";

public Hello(String s) {

       System.out.println("s = " + s);

       System.out.println("1 -> this.s = " +this.s);

this.s = s;//把参数值赋给成员变量,成员变量的值改变

       System.out.println("2 -> this.s = " +this.s);

    }

public static void  main(String[] args) {

       Hello x =new Hello("HelloWorld!");

       System.out.println("s=" + x.s);//验证成员变量值的改变

    }

}

结果为:s = HelloWorld!

1 -> this.s = Hello

2 -> this.s = HelloWorld!

s=HelloWorld!



------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

0 0
原创粉丝点击