Java高级部分

1.经常使用API接口(类):导入,建立,使用java

Scanner类:主要接受来自键盘输入的内容,也能够是文件.用法:Scanner s1 = new Scanner(System.in);数组

Random类:主要建立随机数。用法:Random r=  new Random();int num=(int) (Math.random()*10+1);安全

ArrayList<E>:建立一个不定长度的“数组”。多线程

String类:String是一个常量,一旦建立不可更改,只能从新建立新的String。并发

Arrays类:具备多个关于数组的静态方法,主要经常使用方法:Arrays.toString ,Array.sort();框架

Math类:包含与数字运算有关的类。abs,ceil,floor,rounddom

 

2.面向对象语言的三大特性:继承,封装,多态this

封装:体如今private关键字get,set存取和接口的不透明性spa

继承:关键字extends ,this,super重写,以及各个对象的访问顺序线程

多态:方法名相同,返回值或参数类型不一样

对象的向上转型:
格式:父类对象 对象名=new 子类名称();
Animal animal= new Cat();

含义:右侧建立一个子类对象,把它看成父类看待使用
注意事项:向上转型必定是安全的。从小范围转向了大范围。从小范围的猫,向上转换成为更大范围的动物

对象的向下转型
格式:子类名称 对象名=(子类名称) 父类对象;
含义:将父类对象,【还原】成为原本的子类对象
Animal animal=new Cat()
Cat cat=(Cat)animal;

 

3.抽象类

关键字abstract。

抽象方法:不具体实现细节。例子:public void eat();

抽象类:抽象方法存在的类,必须是抽象类。

注意:

1.不能直接建立new抽象类对象

2.抽象类中不必定包含抽象方法,抽象方法必定在抽象类中

3.必须用一个子类继承抽象类,子类必须从新覆写抽象类的全部抽象方法,不然编译不经过,或者该子类也为抽象类

 

4.接口

关键字:interface,implements

特色:1.多继承 2.

成员:抽象方法(public abstract 方法)+常量(public static final 数据类型)

注意:变量均为常量,变量必须赋值,一旦赋值,不可修改

 

使用步骤:

1.接口没法直接使用,必须有实现类才能使用

2.接口的实现类必须覆写全部接口中的全部方法

3.建立实现类的对象

 

Java新特性1——接口中的默认方法:解决接口升级问题

格式:public default 返回值类型 方法名称(参数列表){}

1.接口中的默认方法使用实现类进行调用

2.接口中的默认方法能够被覆盖重写

 

Java新特性2——接口中容许定义静态方法

格式:public  static 返回值类型 方法名称(参数列表){}

用法:只能经过接口.静态方法调用,不能经过(实现类.接口静态方法)进行调用

 

Java新特性3——接口中使用私有方法:只能在接口内使用

普通私有方法::解决接口中多个默认方法之间重复代码问题

格式:private    返回值类型    方法名  (参数列表){}

静态私有方法:解决接口中多个静态方法之间重复代码问题

格式:private   static  返回值类型    方法名  (参数列表){}

 

 

5.内部类(匿名内部类)

内部类格式
外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称();
匿名内部类格式:
接口名称 对象名 =new 接口名称(){};
注意事项:
1.匿名内部类,在建立对象的时候,就只惟一使用一次
2.匿名对象,在调用方法的时候,只能惟一使用一次
3.匿名内部类是省略实现类/子类名称,可是匿名对象是省略了对象名称

 

6.集合

集合框架包括:Collections,(List,ArrayList,LinkedList),(Set,HashSet,LinkHashSet),(Map,HashMap,LinkedHashMap)

集合祖父:Collection

经常使用方法:

1 public boolean add(E e):添加一个元素
2 public void clear():清空集合中全部的元素
3 public boolean remove(E e):移除集合中指定的元素
4 public boolean contains(E e):检查集合中是否包含指定的对象
5 public boolean isEmpty():判断集合是否为空
6 public void size():判断集合中元素的个数
7 public Object[] toArray():把集合元素存储到数组中

迭代器Iterator使用

迭代器iterator的使用,来自java.util.iterator,做用是为了各式各样的集合,开发了一个统一的取出集合元素的接口,其主要有两种经常使用使用方法
1 boolean hasNext():若是集合中还有下一个元素,就返回true,不然返回false
2 E next():取出集合中的下一个元素
使用迭代器须要使用Collection接口的iterator()方法,其返回的就是一个迭代器iterator实现类对象,有了实现类对象才能使用里面的方法
使用迭代器的基本步骤:
1 先使用Collection集合的iterator()方法获取iterator实现类对象,并使用一个iterator接口来接收,接口指向对象,为多态的应用
2 使用迭代器的hasNext()方法判断集合中还有没有下一个元素
3 使用迭代器的next()方法取出集合中下一个元素

 

加强型for循环使用

加强型for循环的使用,Collection接口继承父接口Iterable,这个父接口的做用就是容许对象成为for-each循环的目标,加强型for循环的目的主要是遍历集合或数组元素。
使用格式:
for(集合或数组数据类型 变量名:集合或数组名){
   方法体
 }

 

Collections类经常使用方法:addall(),sort(),shuffle(),

List接口:有序,可重复

Set接口:无需,惟一

Map接口<K,V >:key不可重复,value可重复

 

7.异常类:

Throwable:Error(不可处理,尽可能避免),Exception

    Exception:编译期异常

            RuntimeException运行期异常中

异常处理关键字:try,catch,finally,throws,throw

配合:

1.修饰符 返回值 方法名() throws AAAExpections, BBBExpections{

  throw new AAAExpections(“产生缘由”);

}

 

2.try...catch ..finally

Try{}

Catch(定义一个异常变量,接受异常对象){}

Catch(异常类名 变量名){}

finally{}

自定义异常:

格式:public class xxxException extends Exception |  RuntimelyException{

       添加一个空参数的构造方法:

       添加一个带异常信息的构造方法

}

 

 

8.线程类

并发:一个cpu来回切换进程

并行:多个cpu实例或者多台机器同时执行,真正的同时

线程状态:Running,dead,锁定,wait()

机制:synchronized ,wait,notify

实现:基本线程类Thread,线程接口Runnable

高级多线程控制类:

ThreadLocal类

Lock类

 

 

 

最后(其余零散的知识点):

1.static所修饰的内容,只会加载一次,而构造方法能够加载屡次

2.匿名对象,只是用一次的对象,当下次使用时则须要从新建立

3.

 

 

 

未完待续。。。

相关文章
相关标签/搜索