匿名内部类别 注意如果要在内部匿名类别中使用外部的 局部变量,变量在宣告时必须為"fna" public void someMethod()( finalist x=10;//宣告fina1 Object obj new Object ( public string tostring() return string. valueof(x);//x可在匿名类别中使用 System. out. println(obj)i
匿名内部类别 • 注意如果要在内部匿名类别中使用外部的 局部变量,变量在宣告时必须為"final" .... public void someMethod() { finalint x = 10; //宣告final Object obj = new Object() { public String toString() { return String.valueOf(x); //x可在匿名类别中使用 } }; System.out.println(obj); }
匿名内部类别 局部变量ⅹ并不是真正被拿来于内部匿名类 别中使用 会被匿名类别复制作为数据成员来使用 编译程序会要求您加上“fina"矢键词,这 样您就知道不能在内部匿名类别中改变X的 值 内部匿名类别在编译完成之后会产生「外 部类别名称$编号cass」,编号为1、2 3.n,每个编号n的档案对应于第n个匿名 类别
匿名内部类别 • 局部变量x并不是真正被拿来于内部匿名类 别中使用 • x会被匿名类别复制作为数据成员来使用 • 编译程序会要求您加上“final”关键词,这 样您就知道不能在内部匿名类别中改变x的 值 • 内部匿名类别在编译完成之后会产生「外 部类别名称$编号.class」,编号为1、2、 3...n,每个编号n的档案对应于第n个匿名 类别
设定包( package) 包被设计与文件系统结构相对应 为了要能建立与包相对应的文件系统结构 您在编译时可以加入"d"参数,并指定产生 的类别档案要储存在哪一个目录之下 package onlyfun caterpillar public class PackageDemo I public static void main (string[] args) System. out. println("Hello! World!")i
设定包(package) • 包被设计与文件系统结构相对应 • 为了要能建立与包相对应的文件系统结构, 您在编译时可以加入"-d"参数,并指定产生 的类别档案要储存在哪一个目录之下 package onlyfun.caterpillar; public class PackageDemo { public static void main(String[] args) { System.out.println("Hello! World!"); } }
设定包( package) javac-d. UsePackage java 在目前的工作位置中会出现 onlyfun目录 之下会有个 caterpillar目录,而当中有個 Package Demo class档案 ¨ package的设定会成为类别名称的一部 完整类别名 onlyfun. caterpillar. PackageDemo java onlyfun. caterpillar. PackageDemo
设定包(package) • javac -d . UsePackage.java • 在目前的工作位置中会出现onlyfun目录, 之下会有个caterpillar目录,而当中有個 PackageDemo.class档案 • “package”的设定会成为类别名称的一部 份 – 完整类别名onlyfun.caterpillar.PackageDemo – java onlyfun.caterpillar.PackageDemo