java的一些知识(五)

                                                                                         第九章  final,static,abstract,interface

一、final
 
 1.属性:表示常量
   
   常量:用final关键字修饰的属性,必须给初始值。
 
   初始化:只能在以下两个地方之一,不能同时赋值。
     1)声明处  2)构造方法


 2.方法:表示该方法只能被继承,不能被重写。

 3.类:表示该类不能产生子类,即不能被继承。

二、static:静态的

 1.属性:

 * 类属性:静态属性,用static修饰的。
 *      属于类,该类的所有对象共享一个副本。
 *      访问:类名.属性名; 
 * 实例属性:没有static修饰的。
 *      属于每一个对象,每个对象都有自己的副本。
 * 访问:对象名.属性名;
 
 2.方法:
 * 类方法:静态方法,用static修饰的。
 *       属于类,该类的所有对象共享一个副本。
 *       访问:类名.方法();
 *       可以直接访问类属性,不能直接访问实例属性,如果要访问实例属性,需要先创建对象,用对象名.属性去调用。


 * 实例方法:没有static修饰的。
 *      属于每一个对象,每个对象都有自己的副本。
 * 访问:对象名.方法();
 * 可以直接访问实例属性、类属性。

三、abstract:抽象的

 1.方法:
 
   抽象方法:用abstract关键字修饰的,没有方法体的方法。

 2.类:
   抽象类:包含抽象方法的类应该是抽象类,抽象类用abstract修饰。

  注意:抽象类不能实例化。

四、接口

 实际就是一种规范、规定。

 1.语法:
   [public] interface 接口名{
//数据成员:全部是常量,且是static
        [public] [final] 数据类型 名=值;
//方法:全部都是抽象方法
[public] [abstract] 返回值类型 方法名();
   }

  注意:
   1)interface的访问修饰符只能是public或默认的。
   2)数据成员的访问修饰符只能是public,可以省略,省略后系统会自动补public;final也可以省略,系统会自动添加
   3)方法成员的访问修饰符只能是public,可以省略,省略后系统会自动补public;abstract也可以省略,系统会自动添加。

 2.类实现接口关键字:implements 

 3.一个类可以实现多个接口
   一个接口也可以有父接口,并且可以有多个父接口。

 4.接口和抽象类的区别:
   
   抽象类:可以包含抽象方法,也可以包含具体方法。
可以包含常量、变量
可以包含私有成员,也可以包含公有成员。
        一个类只能继承一个父类,所以限制比较多。

   接口:只能包含抽象方法
只能包含常量
只能包含公有成员。
       一个类可以实现多个接口,所以比较灵活。

     当在系统中需要明确表达继承关系时,选用抽象类,其他情况一般选用接口比较灵活。
  
  5.instanceof:检测对象是否属于某个类型。
    if(c1 instanceof IColor){
System.out.println("yes");
    }else{
System.out.println("no");
    }


                                                                                                           第十章 异常处理

一、异常处理

  异常:在程序运行期间所发生的不正常的事件。

  分:
   错误(Error):比较严重的jvm系统内部错误,程序员无能为力。

   异常,例外(Exception):一般性的问题,可以解决

 1.try,catch,finally

   try{//有可能抛出异常的代码及其受影响的代码
代码A
代码B(有可能抛出异常)
代码C
   }catch(异常类型 e){//用来捕获异常
代码D
   }...

   finally{//无论发生什么情况,总会执行的代码
代码E
   }
代码F

 1)情况1,没有异常发生:A,B,C,E,F,...
 2)情况2,有异常发生但能捕获:A,B,D,E,F,...
 3)情况3,有异常发生但不能捕获:A,B,E,中断!
   
注意:catch块可以有多块,先子类后父类。

 2.throw:手动抛出异常
   throw new Exception("异常信息");

 3.throws:声明方法有可能抛出异常
   throws Exception



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值