java 知识干货(1)

String、StringBuffer、StringBuilder

《java 知识干货(1)》 string常用方法
《java 知识干货(1)》 StringBuffer介绍与常用方法

区别对比:
String在进行 str = str+“123”时,会先给“123”创建一个存储空间,然后再创建一个存储空间来来存储str+“123”,最后再将str指向到新的字符串,所以无谓的浪费了空间,改变了指向的存储位置。
StringBuffer,相当于一个缓冲区,可以直接对里面的内容进行修改,而不是像String那样重新开辟空间进行操作。

《java 知识干货(1)》 StringBuilder

StringBuilder与StringBuffer类似,是后者的简化版,在单线程中使用比StringBuffer要方便,但是基于多线程安全,最好用StringBuffer。

异常Exception

《java 知识干货(1)》 常见异常

关键字 throws 和 throw

throws

throws 是说将当前的异常向上逐级递交抛出,最后顶级是JVM来处理
例如
public static void main(String args[]){ try{ tell(10,0); }catch(Exception e){ System.out.println(); } } public static void tell(int i ,int j) throws ArithmeticException { int temp = 0; temp = i/j; System.out.println(temp); }
这里就是将tell()中的异常抛给上面的main方法来处理,main中有try catch块来处理,若main也throws出异常,则异常则交给JVM来处理。

throw

一般与catch联用,需要进行实例化,如
try{ throw new MyException("error had happened"); }catch( MyException e){ System.out.println(e); }
一般在try中抛出异常后,需要在下面给出异常处理的catch块。

封装性

《java 知识干货(1)》 封装性

Static关键字

《java 知识干货(1)》 static 关键字

单继承 关键字extends

《java 知识干货(1)》 继承的限制

子类实例化

《java 知识干货(1)》 实例化对象

ps:子类在实例化对象时,都是先去调用父类的构造方法,然后再调用子类的构造方法。

重写 重载 super关键字

《java 知识干货(1)》 继承中方法的重写

重写与重载的区别对照

《java 知识干货(1)》 重写与重载

java抽象类

《java 知识干货(1)》 抽象类

java 接口

《java 知识干货(1)》 接口

ps:接口是允许多实现的,也就是说一个类可以implements多个接口类,间接的弥补了java中单继承的不足。

第五点实例:

interface testabc { } interface testbcd { } interface abc extends testabc, testbcd { };

java多态应用

java多态的体现 一个是体现在重载和重写上,还有一个点是体现在向上转型和向下转型。
如:
public static void main(String[] args) tell(new B()); tell(new C()); } void tell(A a){ a.say1(); } } class A { void say1(){ System.out.println("i m a"); } } class B extends A{ void say2() { System.out.println("i m b"); } } class C extends A{ void say3() { System.out.println("i m c"); } }
这里调用了class A的say1方法,传入的是class B和classC的实例化对象,则会调用父类的say1 方法,这样调用say1方法不论传入B或者C都可以调用到父类的say1方法。

    原文作者:在南方的北方人_Elijah
    原文地址: https://www.jianshu.com/p/cbc99c5669d1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞