java基础三

1.反射 注解

反射是

   java在在jvm运行时运行期间动态获取类的信息,包括属性 方法。

注解是 继承了Annocation的接口,

解析注解的方式:  一种是编译器,扫描类中的注解,根据注解,编译器进行某些操作。一种是通过反射调用。

元注解: 注解的注解。

  •  @Target  注解的目标 @Retention 注解的生命周期 @Inherit 是否允许子类继承

内置注解 @Override @Deprecated(过时的方法)

public @interface anT{} 自定义注解。

注解的作用

清晰的帮助我们知道代码是做什么的。

在编译期进行检测。

在框架中,利用注解 通过反射,减少配置文件的使用。

2.异常

异常分为error exception

error 是值jvm自身造成的,如溢出。

excpetion  是异常时可进行捕获的。包括

    运行时异常,即平常我们所说的空指针,数组越界,class notfinfd,ArithmeticException分子为0.运行时异常都是无法检测的,在运行期间才能检测出。

     ioe Exception : 

检查性异常:需要强制进行 trycatch的。非检查性异常: 不需要捕获,runtime异常。

package test;

class Test {
    public static void main(String[] args) {
        System.out.println(new B().getValue()); 
    }
    static class A {
        protected int value ;
        public A (int v) {
            setValue(v);
        }
        public void setValue(int value) {
            this.value= value;
        }
        public int getValue() {
            try {
                value ++;
                return value;
            } finally {
                this.setValue(value); 
                System.out.println(value);
            }
        }
    }
    static class B extends A {
        public B () {
            super(5);
            setValue(getValue()- 3);
        }
        public void setValue(int value) {
            super.setValue(2 * value);
        }
        
    }
}
 

执行过程是,

一.  super(5)  执行父类构造方法,然后里面执行this.setvalue 。继续执行里面的supe.setValue(2*5) ; value=10

二 .setValue(getValue() -3) ,执行value++,11,保留此时的return value值,然后去执行finally,打印22。  setValue(11-3),value 16.

三 执行newB.getValue()return 16+1; 打印 34.然后执行输出 17.

3.  封装 多态 抽象类 接口

封装 :在类中将变量声明为private ,然后暴露出 public 的set get方法,可以将变量设为只能读取或者只能写入。用户不需要知道类中变量是如何赋值的,类对外暴只是露出接口,具体的实现进行封装。

多态:

有两方面的行为,一是从父类继承的方法,方法中的内容可以进行根据自身需求具体编写。

二是,可以进行重载,方法名相同,但参数类型个数不一样,从而表现出不一样的行为。、

接口:  

接口默认是抽象类 是不可实例化的,其方法也是public 且抽象的。是对行为的抽象,是一组行为规范。

类实现接口,实现其具体的方法

好处: 将设计与实现分离,对外隐藏实现。面向接口编程oop。

接口和抽象类的 区别:

抽象类是有抽象方法,抽象方法只能用作被声明,抽象类不能被实例化 ,其他的更与普通类差不多。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值