java怎么增加自定义关键字,JAVA入门小小白学习中ing(throws关键字、throw关键字、自定义异常、多线程)...

c008907ca371

小小白慢慢学习中ing 第二十八天

努力努力

本日内容(throws关键字、throw关键字、自定义异常、多线程)

1、throws关键字

用于一个方法的对外声明:用于表示该方法不处理异常,交由调用处进行处理。

public static void test()throws ParseException{

}子类重写父类的方法时,不能抛出比父类更大的异常。

父类抛出异常,子类可以不抛出

父类抛出异常,子类可以抛出和父类一样的或者是比父类小的异常

父类抛出异常,子类不能抛出比父类更大的异常

父类没有抛出异常,子类也不能抛出异常。

2、throw关键字

用于代码中主动抛出一个异常对象:设计一个方法的功能的时候,根据逻辑分析,可以主动抛出一个异常对象。

代码级别上,主动抛出一个异常对象,提示调用者:产生问题啦。。以下是String这个类的源代码:

public char charAt(int index) {

if ((index < 0) || (index >= value.length)) {

throw new StringIndexOutOfBoundsException(index);

}

return value[index];

}

对比Exception和RuntimeException的区别。1、Exception是最大的异常父类。RuntimeException是Exception的子类。

2、RuntimeException是运行时异常,程序不强制一定处理该类型的异常。Exception的异常,包含了受检异常,程序中必须处理该类型的异常。

对比throws和throw的区别。1、throws关键字,用于表示一个方法向外声明,该方法不处理异常,交由调用处处理这个异常。处理异常的一种方式:捕获,抛出。

2、throw关键字,代码中,主动抛出一个异常对象。因为某个逻辑原因,主动抛出一个异常对象,打断程序的执行。主动抛出异常对象。

3、自定义异常

了解性内容:理论知识能够懂。

自己定义一个类,用于表示某种异常。需要继承Exception或其子类即可。

问题:不是哪个类的对象,都有被创建并抛出就能够打断程序的功能。

自定义异常:class MyException extends Exception{

//提供有参构造方法。。

public MyException(String msg){

super(msg);//调用父类的有参构造:提供异常的信息

}

public MyException(){

super();//父类的无参构造,没有提供异常的信息

}

}

程序中主动抛出一个异常对象:/*

* 设计一个方法,用于检验年龄,年龄不合法,抛出一个异常

*/

public static void checkAge(int age) throws MyException{

if(age < 0){

// return;

throw new MyException("年龄不能为负数。。");

}

System.out.println("年龄输入正确,请继续。。。");

}

return和finally的参考资料:

4、多线程

4.1 生活中的多任务

生活中,有很多的场景下,同时干多件事儿。比如开车:同时时候手和脚。做作业同时听课。泡健身房跑步,听音乐。。。

舞台表演:边唱边跳。

4.2 windows电脑

windows电脑,打开任务管理器,发现电脑中正在执行的程序,有多个。每个程序叫就叫做一个进程。

windows电脑可以同时执行多个程序?那是因为CPU太快啦。。

4.3 并行和并发

串行:任务一个接一个做。

并行:同时在做多个任务。(硬件的支持)

并发:在多个任务之间快速的切换,看起来同时执行多个任务。但是实际上,某一个事件点,执行1个任务。

宏观并行,微观串行。

4.4 进程

进程:就是正在执行的程序。占用系统资源。

一个程序的执行,内存,CPU。。。

注意区分:电脑上安装的软件。没有跑起来,不能算进程。

4.5 线程

何为线程:概念:进程中的一个执行路径。

进程:一个正在执行的程序。

Word文档:--->一个进程

首字母大写--->一个线程

检查拼写错。。--->一个线程

。。。。

4.6 进程和线程1、进程:一个正在执行的程序:JVM正在执行的程序

2、线程:正在执行的程序中的一条执行路径

3、多线程:一个进程中,可以同时有多条线程一起执行。

如果一个进程没有了,该进程中的线程也就没有了。

如果线程没有了,但是进程不一定的。

4.7 Java中对于多线程的支持

Java中如何实现多任务的?多线程

Thread类:JDK提供好的,Thread类,就是java中关于多线程的实现。线程的功能都封装在了该类中。

要使用线程,来实现程序的并发:一个程序,同时干多件事。

比如:唱歌,同时跳舞Thread类来实现

Java代码,如何创建一条线程?如何启动起来?执行功能?

两种创建线程的方式

A:创建线程并启动:继承Thread类

step1:创建子类,继承Thread类。

step2:重写run(),线程体。并发执行的内容,写在这个方法中。

step3:启动线程:start()

/*

class Cat

class Person

class MyException extends Exception{//异常类

}

class MyThread extends Thread{//线程类

}

*/B:实现Runnable接口,创建线程的方式二

step1:创建实现类,实现Runnable接口

step2:重写run(),线程体。并发执行的内容,写在这个方法中。

step3:启动线程:

创建实现类的对象:mt

根据实现类对象mt,创建Thread类对象t3,t4

start()启动该线程:t3,t4

c008907ca371对比run()和start()

run(),是线程体。就是要并发执行内容。

start(),启动一个线程?就是该线程准备就绪了,随时可以被CPU执行。什么时候执行,CPU自己说了算。

一个线程,只能被start一次。

Thread类的构造方法

new Thread();//并发执行,执行run()方法。

new Thread(Runnable target);//并发执行,执行的run是Runnable接口的实现类实现run方法

c008907ca371

希望我能坚持住每天坚持记录着 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值