红牛农场 class RedCowForm { String formName; //【代码1】//用内部类RedCow声明对象cow RedCow cow; RedCowForm(){ } RedCowForm(String s){ //【代码2】//创建cow cow=new RedCow(1,574,2); 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"); System.out.println("生活在"+formName); } } } public class MainClass { public static void main(String[] args) { RedCowForm form=new RedCowForm("红牛农场"); form.showCowMess(); } }
内部类的使用
public class Outer { private static int size; /** 内部类Inner的声明*/ public class Inner { private int size; /** 方法doStuff() */ public void doStuff(int size){ //【代码1】//存取局部变量size加3 size=size+3; //【代码2】//存取其内部类的成员变量size加2 this.size=this.size+2; //【代码3】//存取其外部类的成员变量size加1 Outer.this.size=Outer.this.size+1; System.out.println(size+" "+this.size+" "+Outer.this.size); } }//内部类Inner结束 /** 类Outer中定义的实例方法testInner()方法*/ public void testInner() { Inner i=new Inner(); //【代码4】//调用Inner类中的doStuff方法 i.doStuff(3); } /** main()方法*/ public static void main(String args[]) { Outer o=new Outer(); //【代码5】//调用Outer类中的testInner方法 o.testInner(); } }//类Outer结束