java基础知识拾遗(二)

1.finally

public static int func (){
        try{
            return 1;
        }catch (Exception e){
            return 2;
        }finally {
            return 3;
        }
    }
public static int func (){
        try{
            throw new Exception();
        }catch (Exception e){
            return 2;
        }finally {
            return 3;
        }
    }

返回值均为3;这表明finally块的代码会在正常return之前被执行;

2.java异常处理类之间的关系

异常的继承结构:基类为 Throwable,Error 和 Exception 继承 Throwable,RuntimeException 和 IOException 等继承 Exception

非 RuntimeException 一般是外部错误,其必须被 try{}catch 语句块所捕获

Error 类体系描述了 Java 运行系统中的内部错误以及资源耗尽的情形,Error 不需要捕捉

3.线程run()方法

线程类想要开辟新线程必须执行start()方法,start()方法内部会调用该类已实现的run()方法.如果执行run(),相当于执行一个普通方法,属于当前线程.

时间: 2024-10-14 20:36:08

java基础知识拾遗(二)的相关文章

java基础知识(二)

1.关于static关键字总结: 1.不能在static修饰的方法中引用this变量,只能引用一些静态变量或方法,或new新的对象(可以定义局部变量). 简言之,静态方法或块中,只能引用静态的方法或变量. 2.类中的成员变量(static修饰)有缺省值,而类的定义的方法中的局部变量没有缺省值. 3.在类的构造器中,可以引用任何的静态或非静态的变量和方法,可以在非static方法中调用static方法. 4.static{}块中的代码在类装载中仅执行一次. 5.在7-7,A staticmetho

java基础知识(二)-----多态和构造函数

一:前言 最近由于面试了新浪公司,面试官问我的问题我都不知道,觉得自己好菜,所以最近决定再把java基础给搞一遍,真的觉得自己好菜.每天看一点,那个家伙说<java编程思想>最少要看三遍,我一遍都没看完.现在每次都写写自己的最新指导的知识点吧.努力!!!刚刚在一个群上说了下这,别人给我说了句话“你要提醒自己,所有的技术别人能学会的你迟早能学会,没什么大不了的”.记住 二:内容 (1):关于构造方法的问题 我们每次写一个类中,都会说在类中加一个无参数的构造方法,我时常在想,这个无参数的构造函数有

java基础知识十二

第十二章 异常 异常(Exception):又称为例外,是程序在运行过程中发生的非正常事件,其发生会影响程序的正常执行.Exception是程序级错误,可由程序本身处理:Error是系统级错误,程序可不用处理.Java异常类都必须继承Throwable类或其子类.用户通过继承自定义异常.常见异常:除数为零.负数开方.数组越界.I/O异常. 抛出的异常由catch捕获,未被捕获的异常逐层传播直到main.如果main也没有处理该异常,则操作系统会终止main执行. 处理异常时,也可以抛出新异常,也

java基础知识拾遗(四)

1.Runnable对象 启动线程:(new Thread(new MyRunnable()).start() 2.jsp中<%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>  改页面不能使用exception对象 3.枚举 enum AccountType { SAVING, FIXE

Scanner、String(java基础知识十二)

1.Scanner的概述和方法介绍 * A:Scanner的概述 * 是一个从键盘输入的类,有final修饰,不能被子类继承 * Scanner sc = new Scanner(System.in); * String str = sc.nextLine(); * B:Scanner的构造方法原理 * Scanner(InputStream source) * System类下有一个静态的字段: * public static final InputStream in; 标准的输入流,对应着键

java基础知识拾遗(三)

1.类加载 bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包. system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性 或者

java基础知识整理(二)

字符串 ①String 串连接: 提取子字符串: 从字符串中分解字符: 得到字符串长度: 测试字符串是否相等: 查找特定子串: 将基本数据类型转化为字符串类型: String y = Integer.toString(x); ②StringBuffer 有一个容量的概念,需要时查找资料 初始化字符串(append.setLength()): 取字符串的单个字符: 单个字符串赋值: 指定位置插入字符串: 返回字符串的子串: 倒置字符串的内容: 字符串扩展知识: 面试题: "a"+&quo

JAVA 基础知识 (二)

SerialVersionUID 此link讲得非常好:http://www.mkyong.com/java-best-practices/understand-the-serialversionuid/ 总的来说,就是为了确保class的兼容性.假设存档里的object被存成file,然后软件进行更新,SerialVersionUID变了,再读file的时候,由于file里的object的ID和更新后Class里的ID不一样,所以会报错.所以当出现class不和之前兼容的情况下,会改变Seri

Java基础知识陷阱系列

Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四) Java基础知识陷阱(五) Java基础知识陷阱(六) Java基础知识陷阱(七) Java基础知识陷阱(八)