7-28 java 学习笔记
2017-07-28 16:51
197 查看
接口
1.接口的定义
![](https://img-blog.csdn.net/20170728164932942?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdWpuMTIzNDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
举例:
![](https://img-blog.csdn.net/20170728164124301?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdWpuMTIzNDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
(其中abstrack可不写)接口中不能有方法体
2.实现接口
![](https://img-blog.csdn.net/20170728165021807?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdWpuMTIzNDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
举例:
![](https://img-blog.csdn.net/20170728164220512?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdWpuMTIzNDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3.接口的使用
语法格式:
![](https://img-blog.csdn.net/20170728164447822?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdWpuMTIzNDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
举例:
![](https://img-blog.csdn.net/20170728164259933?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdWpuMTIzNDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
多态的应用:
用父类数组存储多个子类对象
父类[] 引用名={new 子类1(),new子类2()……new 子类n()}
![](http://img.mukewang.com/59479d0c0001001912800720.jpg)
处理异常
return在try-catch-finally中:
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
1.e.printStackTrace()可以输出异常信息
2.-1为抛出异常的习惯写法
3.如果方法中try,catch,finally中没有返回语句,则会调用这三个语句块之外的return结果
4.finally块无论如何,不管前面是正常还是异常,都要执行。
5.finally 在try中的return之后 在返回主调函数之前执行。
String类常用方法
![](http://img.mukewang.com/53d9f7d200010bb007780366.jpg)
==” 和 equals() 有什么区别
· ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
· equals(): 比较存储在两个字符串对象中的内容是否一致
for循环中遍历
举例:**查找字符新方法
字符串String和StringBuffer区别:
在Java中,除了可以使用 String 类来存储字符串,还可以使用 StringBuilder 类或 StringBuffer 类存储字符串,其中:
(1)String 类具有是不可变性:多个字符串进行拼接了以后产生一个新的临时变量并指向一个新的对象或新的地址。
(2)StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。
如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
StringBuilder 对象,用来存储字符串,并对其做了追加和插入操作。这些操作修改了 str 对象的值,而没有创建新的对象,这就是 StringBuilder 和 String 最大的区别。
1.接口的定义
举例:
(其中abstrack可不写)接口中不能有方法体
2.实现接口
举例:
3.接口的使用
语法格式:
举例:
多态的应用:
用父类数组存储多个子类对象
父类[] 引用名={new 子类1(),new子类2()……new 子类n()}
![](http://img.mukewang.com/59479d0c0001001912800720.jpg)
处理异常
return在try-catch-finally中:
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
1.e.printStackTrace()可以输出异常信息
2.-1为抛出异常的习惯写法
3.如果方法中try,catch,finally中没有返回语句,则会调用这三个语句块之外的return结果
4.finally块无论如何,不管前面是正常还是异常,都要执行。
5.finally 在try中的return之后 在返回主调函数之前执行。
String类常用方法
![](http://img.mukewang.com/53d9f7d200010bb007780366.jpg)
==” 和 equals() 有什么区别
· ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
· equals(): 比较存储在两个字符串对象中的内容是否一致
for循环中遍历
String[] abc = new String[3]{"a","b","c"}; for (String str : abc){ System.out.println(str); //这个地方的冒号就是遍历abc的集合,取出每一个元素 }
举例:**查找字符新方法
public class HelloWorld { public static void main(String[] args) { // 定义一个字符串 String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd"; int num = 0; // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数 for (byte bt:(s.getBytes())) //s.getBytes() 返回的是一个byte[]; //for(byte bt : s.getBytes()) 表示创建一个byte类型的变量bt,并且用这个bt去迭代获取s.getBytes()返回的byte[]; { // 获取每个字符,判断是否是字符a if (bt == 'a') { // 累加统计次数 num++; } } System.out.println("字符a出现的次数:" + num); } }
字符串String和StringBuffer区别:
在Java中,除了可以使用 String 类来存储字符串,还可以使用 StringBuilder 类或 StringBuffer 类存储字符串,其中:
(1)String 类具有是不可变性:多个字符串进行拼接了以后产生一个新的临时变量并指向一个新的对象或新的地址。
(2)StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。
如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
StringBuilder 对象,用来存储字符串,并对其做了追加和插入操作。这些操作修改了 str 对象的值,而没有创建新的对象,这就是 StringBuilder 和 String 最大的区别。
相关文章推荐
- 学习笔记之JavaSE(28)--JavaAPI详解3
- Java 死锁的实现 -Java学习笔记(28)
- Java学习笔记28(集合框架二:Iterator迭代器)
- 黑马程序员_JAVA 学习笔记28 WEB篇15
- Java学习笔记28. 跳转语句break和continue
- JAVA学习笔记28——网页静态化之Freemarker(二)
- (28)Java学习笔记——常用对象 / Random 类
- Java学习笔记28
- Java并发28:ThreadLocal学习笔记-简介、基本方法及应用场景
- 【Java学习笔记】28:再谈四种内部类
- Java学习笔记28:keyStroe https证书
- java学习笔记—实现一个类MyInputStream(28)
- Java之学习笔记(28)-------------static
- ElasticSearch 6.x 学习笔记:28.Java API之文档批量操作
- Java4Android by mars (28-34)学习笔记
- Java学习笔记(28)--覆写(Override)详解
- JAVA学习笔记28——容器概述+ArrayList
- java学习笔记28
- java对象序列化学习笔记(z)
- java 学习笔记