由于java对象中 还有一个是匿名对象,所以在这里我为大家介绍一下匿名对象的使用~
匿名对象:
匿名对象是对象的简化形式
匿名对象两种使用情况
当对对象方法仅进行一次调用的时
匿名对象可以作为实际参数进行传递
封装(encapsiulation)
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
好处:
将变化隔离
便于使用
提高重用性
提高安全性
封装原则:
将不需要对外提供的内容都隐藏起来
吧属性都隐藏,提供公共方法对其访问
private关键字:
是一个权限修饰符
用于修饰成员(成员变量和成员函数)
被私有化的成员只在本类中有效
常用之一:
将成员变量私有化,对外提供对应的set,get方法对其进行访问。提高对数据访问的安全性
构造函数:
特点:
1.函数名与雷鸣相同
2.不用定义返回值类型
3.不可以写return语句
作用:
给对象进行初始化
注意:
1.默认构造函数的特点
2.多个构造函数是易重载的形式存在的
给大家准备了一个小练习:
this关键字
特点:this代表其所在函数所属对象的引用。
换言之:this代本类对象的引用。
什么时候使用this关键籽呢?
当在函数内需要用到调用该函数的对象时,就用this
this可以表示当前对象
htis可以访问构造方法(注意:this调用只能放在构造函数第一行)
介绍string
类
String:java.lang.Object--java.lang.String
String str = "abc"
等效于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
charAt
public char charAt(int index)
返回指定索引处的
char
值。索引范围为从
0
到
length() - 1
。序列的第一
个
char
值在索引
0
处,第二个在索引
1
处,依此类推,这类似于数组索引。
参数:
index - char
值的索引值。
返回:此字符串指定索引处的
char
值。第一个
char
值在索引
0
处。
抛出:
IndexOutOfBoundsException -
如果
index
参数为负或小于此字符串的
长度。
例子:
String s = "Welcome to Java!";
char a;
StringBuffer b = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
a = s.charAt(i);
b.append(a);
}
System.out.println(b);
其中关键的是如果把得到的字符放到字符串中,要用
StringBuffer
的
append
(
char
)方法,要不然就要直接打印出来
String s = "Welcome to Java!";
char a;
for (int i = 0; i < s.length(); i++) {
a = s.charAt(i);
System.out.print(a);
}
- String实例化的两种方式
- String name1 = "haoren";
- String name2 = new String("huairen");
- 两种实例化的区别
- 第一种
String name1 = "haoren";
String name2 = "haoren";
name1和name2指向了同一空间,“haoren”只存储了一次
2.第二种
String name4 = new String("haoren");
String name5 = new String("haoren");
name4和name5开辟了不同的空间
3.String内容的比较(equals)
<span style="white-space:pre"> </span>String name = "haoren";
<span style="white-space:pre"> </span>//if("haoren".equals(name)){
<span style="white-space:pre"> </span>if(name.equals("haoren")){//(注意不能这样写,如果name=null)就会报空指针异常
System.out.println("ok");
<span style="white-space:pre"> </span>}
- //函数:charAt()
<span style="white-space:pre"> </span>//String name = "我是好人,你是坏人!!!";
//System.out.println(name.charAt(2));
- matches()
<span style="white-space:pre"> </span>if("mazheng@sina.com".matches("\\w+@\\w+[.]\\w+")){
System.out.println("合法!!!");
}else{
System.out.println("不合法!!!");
}
- split()
- String[] a = "我是:好人".split(":");
- System.out.println(a[0]);
- startsWith(String prefix)
String name ="我是好人";
System.out.println(name.startsWith("我"));
- endsWith(String suffix)
String name ="我是好人";
System.out.println(name.endsWith("人"));
字符串的内容不可改变因此大家以后最好不要出现以下的写法(可以StringBuffer类完成)
<ul><li class="li1"><span class="s1"></span><span class="s2">trim() </span></li></ul><p class="p2"><span class="s2"><span> </span> String name =" </span><span class="s3">我是好人 </span><span class="s2">";</span></p><p class="p2"><span class="s2"><span> </span> System.out.println(name+"!!!");</span></p><p class="p3"><span class="s2"><span> </span> System.out.println(name.trim()+"!!!");</span></p><ul><li class="li1"><span class="s4"></span><span class="s2">replace()</span></li></ul><p class="p2"><span class="s2"><span style="white-space:pre"> </span> System.out.println(name.replace("</span><span class="s3">好人</span><span class="s2">","</span><span class="s3">坏人</span><span class="s2">"));</span></p>
例子:
String s = "Welcome to Java!"; char a;
StringBuffer b = new StringBuffer(); for (int i = 0; i < s.length(); i++) { a = s.charAt(i); b.append(a); }
System.out.println(b);
其中关键的是如果把得到的字符放到字符串中,要用StringBuffer的append(char)方法,要不然就要直接打印出来 String s = "Welcome to Java!"; char a;
for (int i = 0; i < s.length(); i++) { a = s.charAt(i);
System.out.print(a); }
之前为大家准备的小练习题的答案,如果有需要的可以联系我们:
qq群:131014179 个人邮箱:teemoe@cntv.cn