Java_5

来源:互联网 发布:zabbix的端口号是多少 编辑:程序博客网 时间:2024/05/25 08:13

引出基本类型包装类:


1).装箱:把基本类型数据转成对应的包装类对象。
2).拆箱:把包装类对象转成对应的基本数据类型数据。
Sun公司从Java5开始提供了的自动装箱(Autoboxing)和自动拆箱(AutoUnboxing)功能 :
自动装箱:可把一个基本类型变量直接赋给对应的包装类变量。
自动拆箱:允许把包装类对象直接赋给对应的基本数据类型变量。


自动装箱和拆箱,也是一个语法糖/编译器级别新特性.
在底层依然是手动装箱和拆箱操作.
但是:装箱操作使用的是Integer.valueOf的方式,而不是直接new Integer.    


switch支持的数据类型:byte,short,char,int,也支持对应的包装类. 为何?
    就是在底层,switch中会对包装类做手动拆箱操作.

Integet与int的区别(包装类型和基本数据类型的区别):

1.默认值:

int的默认值是0;

Integer的默认值为null;

推论Integer即可以表示null也可以表示0



异常

try
{

}
catch ()
{
}

flinaly(

)

1.异常就是导致程序终止的一种指令流。异常会使程序终止执行

2.throwsthrow;

throws用于标致函数暴露的异常。

throw用语抛出异常的对象;

try:在这里面写可能会出错的代码

cath:捕获异

flinaly:在捕获异常后,继续执行后面的代码:(如果写上System.exit(0),就会终止后面的代码)


    线程




创建线程方式一
继承Thread类

1.子类覆盖父类中的run方法,将线程运行的代码存放在run中。

2.建立子类对象的同时线程也被创建。

3.通过调用start方法开启线程。

public static void main(String[] args) {
Test t1 = new Test("haoren");
t1.start();
Test t2 = new Test("huairen");
t2.start();
}


class Test extends Thread{
private String name;

public  Test(String name){
this.name = name;
}

public void run(){
for(int i=0;i<10;i++){
System.out.println(name+":"+i);
}
}
}


实现Runnable接口

1.子类覆盖接口中的run方法。


2.通过Thread类创建线程,并将实现了Runnable接口的子类对象作为参数传递给Thread类的构造函数。


3.Thread类对象调用start方法开启线程。




Thread是Runnable 的子类
实际上Thread和Runable的关系和我们前边讲的代理设计模式很像,  这里的Thread就是代理类。我们自己所实现的类才是real。


Thread和Runnable 的区别
Runnable可以共享数据




原创粉丝点击