java EE 学习笔记 3

JAVA EE

1、类型判断运算符 : instanceof    如 if(n instanceof Bage)

2、内部类(寄生类)、外部类                 (注:外部类不能加static,内部类可以)

编译时期 从JAVA编译成class字节码文件会生成两个独立的class文件

创建对象:  

new wai();

在外部类中不能直接调用内部类的方法,在内部类中可以直接调用外部类的方法

要调用内部类 : wai.nei n = new wai().new nei()

实例化内部类的两种方法:

  ---法一:

  Outer.Inner in=new Outer().new Inner();

  ---法二:

  Outer o=new Outer();

  Outer.Inner I=o.new Inner();

  如果内部类是static的,也可以用下面方法:

  Outer.Inner in=new Outer.Inner();

匿名内部类、匿名子类对象:

匿名内部类不能有构造方法。 

匿名内部类不能定义任何静态成员、方法和类。 

匿名内部类不能是public,protected,private,static。 

只能创建匿名内部类的一个实例。

3、构造器加private修饰,则不能创建对象

4、final修饰引用类型不用初始化,引用类型变量就只能指向一个对象。

5、异常处理

出现异常状态之后,程序会中断运行

运行时异常

非运行时异常

两种办法:

1.用 try{异常}catch(Exception ){发生异常后执行的语句} 来捕捉异常        (调试使用)                          (try/catch)

Exception 是所有异常的顶级父类    

finally 必须执行的代码 ,如果try里和finally里都有return,finally中的结果将覆盖try中的结果

2.或用 throw 抛出去,抛到所属类,由此类来处理 ( add throw )

错误:error

6、Math类(数学类)

7、String类

创建的字符串存在 字符串常量池 中

例:String str = new String("hello")    该语句创建了两个字符串对象!

不用 == 来比较,用 .equals 来比较  (equals在类中已经重载)

字符串搜索(注返回的是下标,错误返回-1)

字符串切割

字符串链接

字符串替换

字符串去前后空格

//System.out.println("index of l = " + s.indexOf('p'));从0下标开始查找字符,返回下标数,没找到返回-1

//System.out.println("last index of l = " + s.lastIndexOf('l'));

//System.out.println("index of('o', 3) = " + s.indexOf('o', 5));从指定的位置开始寻找

//System.out.println(s.substring(0, 5));  返回新字符串对象包含头不包含尾

//System.out.println(s.concat(s1));

//System.out.println(s.replace(' ', ','));//替换指定字符 返回新字符串对象

//System.out.println(s.trim());  去掉前后空格,中间不可以去掉

8、可变字符串序列     (在字符串频繁变化时使用)

StringBuffer(线程安全)       StringBuilder(非线程安全,但是速度快)

9、Collections (集合) API

如: Hashset      和      Arrivelist

1.set<范形>(无序、不可重复的)(迭代器:iterator)          ;        

2.list(有序、可重复的)

3.<特殊集合>

Map<范形>  是以(key,value)的形式看来存储数(键值对),   key不可重复 , value可重复

(Map中没有迭代器,用keySet,获取所有key返回set集合,就可以使用迭代器了,然后通过get(key)来循环获取value值)

10、新的for循环(局限:不能赋值)

如: int a  [] = {1,2,4,56,2};

for (int i : a ) {

System.out.println(i);

}

11、线程、进程

进程:是正在运行的程序

线程:是进程中的最小执行单元,执行路径,执行场景

用Thread.start()开启线程,   重载的run{}就是线程的线程体

一个线程只能开启一次

implements (runnable接口)       (thread也是该接口中的类,相当于直接使用此接口)

synchronized(mutex)  同步锁

{

//同步代码块

}

两种方法:

      · 1.一个线程使用一个线程体

2.多个线程共用一个线程体

12、多个程序同时执行  (利用线程的匿名子类对象)

猜你喜欢

转载自blog.csdn.net/weixin_42155195/article/details/81119000