栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA基础复习(四)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA基础复习(四)

1.异常

异常Throwable分为Exception和Error。

Exception可以捕获,包括CheckException和UncheckedException,checkExcption不处理(try catch)无法编译,UncheckException可以throw如越界,空指针等

Error,程序无法处理的错误,一般会导致线程终止。

Throwable常用的方法包括:getMessage(简单描述),toString(详细),printStackTrace(完整异常信息)

例如空指针:

2.try-catch-finally

finally不执行的情况:1.System.exit先执行 2.程序所在线程死亡 3.关闭cpu

资源类(需要close)可以使用try-with-resources替代,在执行完后会自动关闭资源。

3.泛型

泛型类,泛型接口,泛型方法。泛型只在编译阶段有效

泛型类实例化的时候必须指定类型。

泛型接口实现可以不指定具体类型。

泛型方法 静态泛型方法只能使用泛型类型,不能指定具体类型,只有声明了的方法才是泛型方法。

自定义接口通用方法可以用泛型类。

public class GenericDemo {
    
    public class Generic {
        private T key;
        public Generic(T key) {
            this.key = key;
        }

        
        public T getKey(){
            return key;
        }

        
        public  T getKey(Generic generic){
            System.out.println("key is :" + generic.getKey());
            return generic.getKey();
        }

        
        public  void show(T t){
            System.out.println(t);
        }
    }

4.反射

灵活,但是性能稍差,有安全问题,反射可以随意访问和修改类的所有状态和行为,破坏了类的封装性,如果不熟悉被反射类的实现原理,随意修改可能导致潜在的逻辑问题。可以通过反射访问类的私有属性,相当于关闭了安全检查。

 public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        ReflectModel demo = new ReflectModel();
        Class clazz = demo.getClass();
        Method method = clazz.getDeclaredMethod("test",null);
        //通过setAccessible 访问私有方法
        method.setAccessible(true);
        method.invoke(demo);
    }

注解,框架,代理都会用到反射

5.注解

注解本质是一个继承了Annotation 的特殊接口

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号