欢迎来到天天文库
浏览记录
ID:52998963
大小:796.50 KB
页数:24页
时间:2020-04-15
《内部类-时间日期-异常.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、1内部类2时间日期3异常内部类-定义在类的内部的类,根据位置分为4类1)静态内部类:放在方法外部,使用static修饰,声明在类体中.静态内部类中可以访问外部类的静态属性和静态方法。如何实例化一个类的静态内部类*格式:外部类.内部类obj=new外部类.内部类();2)成员内部类:声明在类体中,方法外部,不使用static,具有类的成员特征也就是,必须有类的实例才能创建内部类实例。内部类实例可以访问共享外部类的成员变量。很常用。如:链表的节点就可以定义为内部类创建一个类的成员内部类*1:实例化外部类OutClassou
2、t=newOutClass();*2:根据外部类的对象创建内部类实例*理解:*我们想使用一个成员属性*语法为:对象.属性例如:out.sex=1;**我们想实例化一个成员内部类*语法为对象.new内部类()例如:out.newInner();3)局部内部类:把类声明在方法中,就是局部内部类,作用域类似局部变量。很少见。注意:局部内部类可以访问其他局部变量,*但是被访问的局部变量[必须是final局部变量]4)匿名内部类,匿名类:非常常见,可以写在任何地方,就像一般的语句。语法更象是创建对象:Dated=newDate(
3、){};匿名类是对原类的一个继承,同时创建了实例,{}就是继承以后的类体。类体中可使用所有类的语法。匿名类不能写构造器。匿名类可以从抽象类或者接口继承,必须提供抽象方法的实现构造匿名内部类:*1:定义一个类(类名是匿名的),并继承或实现父类classXXXXimplementsComparator{}*2:实现类体*classXXXXimplementsComparator{*publicintcompare(Stringo1,Stringo2){returno1.length()-o2
4、.length();*}*}*3:创建类的实例Comparatorcomparator=newXXXX();5)任何内部类都编译成独立的class文件6)最大的作用:封装!封装内部概念:情侣间的土豆和菜市场的土豆是不一样的3时间日期时间类的本质:Date=long+操作Calendar=long+操作时间的标准:(1970)GMTlong(0)UTClong1)java中基本的时间表示GMTlong2)Java提供了Date类型表示时间和日期Date是long类型的包装3)Calendar是历法的的抽象
5、.历法:公历,农历,太阳历,...GregorianCalendar是历法的实现,采用公历(太阳历)算法实现的.Calendercal=Calender.getInstance();4)Date和Calendar的默认值就是当前时间Datedate=newDate();Calendarcal=newGregorianCalendar();5)时间的类型转换7)日期的输入与输出,日期输出:的本质是Date转换为格式化的String日期输入:的本质是将格式化的String转换为Datejava.text.SimpleDat
6、eFormatfmt=newSimpleDateFormat("yyyy-MM-dd");构建SimpleDateFormat一般提供日期的格式"yyyy-MM-dd"具体参看javadoc如:"yyyy-MM-ddHH:mm:ss""yyyyMMdd""dd/MM/yyyy""MM/dd/yyyy"fmt.parse(String)可以实现将(合法)字符串解析为日期类型,经常用于处理日期输入.fmt.format(Date)可以把日期格式化为字符串用于输出处理.3异常(Exception)1)行为(方法,过程)的意外
7、结果2)一个方法如果抛出了异常,这个方法就必须声明异常的抛出.异常的声明:在方法上声明方法的意外结果,如:抛出异常声明:publicvoidxxx()throws[异常类型]{}Userlogin(Stringemail,Stringpwd)throwsNameOrPwdException;3)异常类一般继承于Exception4)调用抛出异常的方法,必须处理异常4.1使用trycatchfinally捕获4.2直接再抛出异常处理方式,依赖于具体业务逻辑,很灵活。5)如果代码有异常发生,异常以后的代码将不再执行。6)t
8、rycatchfinallytry是尝试运程代码块,如果有异常会被随后的catch捕获异常发生以后代码不执行catch代码块是异常处理代码。需要提供合理的处理,异常的处理是与具体业务逻辑有关。可以写多个catch处理一系列异常,但是要注意:异常的大小关系,大类型的放到后面处理。有的时候catch(Exception)粗粒度处理异常
此文档下载收益归作者所有