java基础(2)

由于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); 

  

 }


  1. String实例化的两种方式
    1. String name1 = "haoren";
    2. String name2 = new String("huairen");
  2. 两种实例化的区别
    1. 第一种

String name1 = "haoren";

String name2 = "haoren";

name1name2指向了同一空间,“haoren”只存储了一次

2.第二种

String name4 = new String("haoren");

String name5 = new String("haoren");

name4name5开辟了不同的空间

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

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值