- 1、本文档共106页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序5-13 程序5-13 接口应用实例。定义一个接口Shape2D,可利用它来实现二维的几何形状类Circle和Rectangle 内部类 类名只能在定义的范围内被使用,内部类的名称必须区别于外部类 内部类可以使用外部类的类变量和实例变量,也可使用外部的局部变量 内部类可以定义为abstract类型 内部类也可以是一个接口,这个接口必须由另一个内部类来实现 内部类 内部类可以被定义为private或protected类型。当一个类中嵌套另一个类时,访问保护并不妨碍内部类使用外部类的成员 被定义为static型的内部类将自动转化为顶层类,它们不能再使用局部范围中或其他内部类中的数据和变量 内部类不能定义static型成员,而只有顶层类才能定义static型成员。如果内部类需要使用static型成员,这个成员必须在外部类中加以定义 应用内部类的好处在于它是创建事件接收者的一个方便的方法 程序5-14 程序5-14,重载TwoListen类,使得在TwoListen类中包括两个处理类 匿名类 在定义一个内部类时,也可以将整个类的描述包含在一个表达式范围里,使用这种方法是在定义了一个匿名类的同时创建了一个对象 匿名类使代码变得更小但是代码的可读性也随之下降 使用匿名类重载TwoListenInner的部分代码,如程序5-15所示 内部类的工作方式 内部类可以访问其外部类,因此JDK1.1编译器给内部类另外添加了一个private成员变量和一个构造方法对它进行初始化 编译器还自动使外部类的范围适用于内部类,将“.”替换为“$”。这样编译器看到的改动后的源代码为程序5-16 包装类 包装(wrapper)类表示一种特殊的基本类型。 例如,Integer类表示一个普通的整型量。 Integer ageObj = new Integer(40); 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean void Void Integer类的方法 Integer (int value) 构造方法:创建新的Integer对象,用来保存value的值。 byte byteValue ()、double doubleValue ()、float floatValue ()、int intValue ()、long longValue () 按对应的基本数据类型返回Integer对象的值。 static int parseInt (String str) 按int类型返回存储在指定字符串str中的值。 static String toBinaryString (int num)、static String toHexString (int num)、static String toOctalString (int num) 将指定的整型值在对应的进制下按字符串形式返回。 Integer类的常量 Integer类有两个常量MIN_VALUE和MAX_VALUE,它们分别保存int型中的最小值及最大值。 其他的包装类中也有对应于相应类型的类似的常量。 装箱与拆箱 自动将基本数据类型转为对应的包装类的过程称为自动装箱(Autoboxing) 逆向的转换称为拆箱(unboxing) Integer obj2 = new Integer(69); int num2; num2 = obj2; // 自动解析出int型 过时信息 JDK也在不断地发展和完善。从JDK1.0到JDK1.1之间的变化最为明显,选取Java言语学习材料时一定要选用JDK1.1以上版本 JDK1.1中采取了若干重要的改进,两个比较重大的变化:一个是内部类(Inner class)的概念,而另一个就是对于方法名称的标准化 * * * CLASSPATH 环境变量classpath将指示着javac编译器如何查找所需要的对象 在编译命令中使用-d选项,则Java编译器可以创建包目录,并把生成的类文件放到该目录中 c:\javac -d destpath Test.java 则编译器会自动在destpath目录下建立一个子目录p1, 并将生成的.class文件都放到destpath/p1下 访问权限与数据隐藏 day、month和year是private的,这意味着只能在Date类中的方法内访问这些成员,而在类外的方法中不能访问它们,这就是访问权限(Access Control) 程序5-1 封装 强制使用者通过方法来访问数据是确保方法调用后各数据仍合法的更简单的方法 Date
文档评论(0)