第8章内部类与异常类 王绍卿
1 第8章内部类与异常类 王绍卿
导读 主要内容 内部类 匿名类 ● 异常类 ●】 断言 难点 异常类 2025/4/2
2025/4/2 2 导读
§8.1 内部类 ■Java支持在一个类中声明另一个类,这样的类称作内部类, 而包含内部类的类成为内部类的外嵌类。 ■内部类(成员类):定义在类中的类,可以看成是外部类的 一个成员。主要作用是将逻辑上相关的类放到一起。 例8-1 RedCowForm.java,Example8 1.java 某种类型的农场饲养了一种特殊种类的牛,但不希望其它 农场饲养这种特殊种类的牛,那么这种类型的农场就可以将 创建这种特殊种牛的类作为自己的内部类。例8-1中有一个 RedCowForm(红牛农场)类,该类中有一个名字为RedCow (红牛)的内部类。程序运行效果如图8.1所示
3 §8.1 内部类 ◼Java支持在一个类中声明另一个类,这样的类称作内部类, 而包含内部类的类成为内部类的外嵌类。 ◼内部类(成员类):定义在类中的类,可以看成是外部类的 一个成员。主要作用是将逻辑上相关的类放到一起。 例8-1 RedCowForm.java, Example8_1.java 某种类型的农场饲养了一种特殊种类的牛,但不希望其它 农场饲养这种特殊种类的牛,那么这种类型的农场就可以将 创建这种特殊种牛的类作为自己的内部类。例8-1中有一个 RedCowForm(红牛农场)类,该类中有一个名字为RedCow (红牛)的内部类。程序运行效果如图8.1所示
public class RedCowForm public class Example8_1{ String formName: public static void main(String args[]){ RedCow cow,∥内部类声明对象 RedCowForm form=new RedCowFormO RedCowForm("红牛农场"); RedCowForm(Strings) form.showCowMess(); cow=new RedCow(150,112,5000); formName=s; public void showCowMess(){ cow.speak(); class RedCow{∥内部类的声明 String cowName="红牛", int height,weight,price; RedCow(int h,int w,int p){ height=h: weight=w; price=p; void speak(){ System.out.println("偶是"+cowName+-",身高:"+height+-"cm体 重:"+weight+"kg生活在"+formName);
public class RedCowForm { String formName; RedCow cow; //内部类声明对象 RedCowForm() { } RedCowForm(String s) { cow = new RedCow(150,112,5000); formName=s; } public void showCowMess() { cow.speak(); } class RedCow { //内部类的声明 String cowName="红牛"; int height,weight,price; RedCow(int h,int w,int p){ height=h; weight=w; price=p; } void speak() { System.out.println("偶是"+cowName+",身高:"+height+"cm 体 重:"+weight+"kg,生活在"+formName); } } } public class Example8_1 { public static void main(String args[]) { RedCowForm form = new RedCowForm("红牛农场"); form.showCowMess(); } }
例8-1 RedCowForm.java, Example8 1.java 某种类型的农场饲养了一种特殊种类的牛,但不希望其它 农场饲养这种特殊种类的牛,那么这种类型的农场就可以将 创建这种特殊种牛的类作为自己的内部类。例8-1中有一个 RedCowForm(红牛农场)类,该类中有一个名字为RedCow (红牛)的内部类。程序运行效果如图8.1所示。 C:\ch8>java Example8_1 偶是红牛,身高:150cm体重:112kg,生活在红牛农场 图8.1使用内部类
5 例8-1 RedCowForm.java, Example8_1.java 某种类型的农场饲养了一种特殊种类的牛,但不希望其它 农场饲养这种特殊种类的牛,那么这种类型的农场就可以将 创建这种特殊种牛的类作为自己的内部类。例8-1中有一个 RedCowForm(红牛农场)类,该类中有一个名字为RedCow (红牛)的内部类。程序运行效果如图8.1所示