java 接口 异常_java 接口与异常

一、   接口

接口的定义:

public interface Pet{

public abstract void beFriendly();

public abstract void play();   //接口的方法一定是抽象的

}

接口的实现:

public class Dog extends Canine implements Pet{ // 关键词implement后跟接口名称

public abstract void beFriendly(){…}

public abstract void play(){…}

public void roam(){…}

public viod eat(){…}

}

可以使用super关键词去调用父类的方法

二、   静态final变量

一个被标记为final的变量代表它一旦被初始化后就不会改动。

final int size = 3; //size的值无法改变

静态final变量的初始化:

public class Foo{

public static final int FOO_X = 25;

}

public class Bar{

public static final double BAR_SIGN;

static{

BAR_SIGN = (double) Math.random();

}

}

Final的变量代表你不能改变它的值

Final的method代表你不能覆盖掉该method

Final的类代表你不能继承该类

Java中的常量是把变量同时标记为static和final,常量命名全部用大写字母

三、   Primitive主数据类型的包装

当你需要以对象的方式来处理primitive主数据类型时,就把它包装起来。

包装类:Boolean、Character、Byte、Short、Integer、Long、Float、Double

包装值:

int i = 288;

Integer iWrap = new Integer(i);

解开包装:

int unwrapped = iWrap.intValue();

四、   格式化输出

format("%,d",1000000000);  //1,000,000,000

format("I have %.2f bugs to fix.", 476578.09876);

//I have 476578.10 bugs to fix.

%[argument number][flags][width][.precision]type

argument number:格式化的参数超过一个时,要在这里指定是哪一个

flags:特定类型的特定选项,例如数字要加逗号或者正负号

width:最小字符数,注意:这不是总数,输出可以超过此宽度,若不足则会主动补零

.precision:精确度

type:一定要指定类型参数

完整的日期和时间:%tc

String.format("%tc",new Date());  //Sun Nov 28 14:52:41 MST 2004

只有时间:%tr

String.format("%tr",new Date());  //03:01:46 PM

周、月、日:%tA %tB %td

Date today = new Date();

String.formate("%tA,%tB %td",today,today,today);

//Sunday,November 28

操作日期:使用java.util.Calendar

五、   静态的import

import static java.lang.System.out;

import static java.lang.Math.*;

class WithStatic{

public static void main(String [] args){

out.println("sqrt" + sqrt(2.0));

out.println("tan" + tan(60));

}

}

六、   异常处理

把有风险的程序放在try块,用catch块摆放异常状况的处理程序。

异常是一种Exception类型的对象,catch的参数是Exception类型的ex引用变量。

try{

//危险动作

}catch(Exception ex){

//尝试恢复,在有抛出异常时执行

}

在编写可能会抛出异常的方法时,必须声明有异常

public void takeRisk()throw BadException{

if(abandonAllHope){

throw new BadException();

}

}

调用:

public void crossFingers(){

try{

anObject.takeRisk();

}catch(BadException ex){

System.out.println("Aaargh!");

ex.printStackTrace();

}

}

用final块存放不管有没有异常都要执行的程序。

有多个catch块时要从小排到大。

如果不想处理异常,可以把他duck掉来避开。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值