0919作业-----四大内部类的学习跟练习为主,作业为辅----未做数值合法性检测

  1 //四大内部类的定义区
  2 class Text2{
  3     //成员内部类定义
  4     class San{
  5         private int bian1;
  6         private int bian2;
  7         private int bian3;
  8         San(){
  9         }
 10         San(int bian1,int bian2,int bian3){
 11             this.bian1=bian1;
 12             this.bian2=bian2;
 13             this.bian3=bian3;
 14         }
 15         public void setBian1(int bian1){
 16             this.bian1=bian1;
 17         }
 18         public void setBian2(int bian2){
 19             this.bian2=bian2;
 20         }
 21         public void setBian3(int bian3){
 22             this.bian3=bian3;
 23         }
 24         public int getBian1(){
 25             return bian1;
 26         }
 27         public int getBian2(){
 28             return bian2;
 29         }
 30         public int getBian3(){
 31             return bian3;
 32         }
 33         public int getZhou(){
 34             return getBian1()+getBian2()+getBian3();
 35         }    
 36     }
 37     //成员内部类中定义了一个局部内部类
 38     class People{
 39         private String name;
 40         private int age;
 41         private String sex;
 42         private int height;
 43         People(){
 44             this.name="你猜";
 45             this.age=10000;
 46             this.sex="你再猜";
 47             this.height=-1000;
 48         }
 49         People(String name){
 50             this();
 51             this.name=name;
 52         }
 53         People(String name,int age){
 54             this(name);
 55             this.age=age;
 56         }
 57         People(String name,int age,String sex){
 58             this(name,age);
 59             this.sex=sex;
 60         }
 61         People(String name,int age,String sex,int height){
 62             this(name,age,sex);
 63             this.height=height;
 64         }
 65         public void setName(String name){
 66             this.name=name;
 67         }
 68         public void setAge(int age){
 69             this.age=age;
 70         }
 71         public void setSex(String sex){
 72             this.sex=sex;
 73         }
 74         public void setHeight(int height){
 75             this.height=height;
 76         }
 77         public String getName(){
 78             return name;
 79         }
 80         public int age(){
 81             return age;
 82         }
 83         public String getSex(){
 84             return sex;
 85         }
 86         public int getHeight(){
 87             return height;
 88         }
 89         public void operate(){
 90             final String str1="嘎嘎,我比较懒,但是我确实会算术,因为我会调用,会重载~~~";
 91             final String str2="很会说话~~~";
 92             final String str3="小子,你发现了没有,我的名字已经改成了";
 93             class Inner{
 94                 public void hello(){
 95                     System.out.println(People.this.getName()+str2);
 96                 }
 97                 public void operate(){
 98                     System.out.println(str1);
 99                 }
100                 public void setName(){
101                     System.out.println(str3+People.this.getName());
102                 }
103             }
104             Inner inner=new Inner();
105             inner.hello();
106             inner.operate();
107             inner.setName();
108         }
109     }
110     //静态内部类的定义
111     static class Point{
112         private int x;
113         private int y;
114         Point(){
115             x=-1;
116             y=-1;
117         }
118         Point(int x){
119             this();
120             this.x=x;
121         }
122         Point(int x,int y){
123             this(x);
124             this.y=y;
125         }
126         public void setX(int x){
127             this.x=x;
128         }
129         public void setY(int y){
130             this.y=y;
131         }
132         public int getX(){
133             return x;
134         }
135         public int getY(){
136             return y;
137         }
138     }
139     //一个抽象类的定义,用于客户端匿名内部类来实现抽象方法
140     abstract class ChongZai{
141         public void printl(){
142             System.out.println("这里是重载练习区");
143         }
144         public abstract void print();
145         public abstract void print(String a);
146         public abstract void print(String a,String b);
147     }
148     
149 }
150 class Text1{
151     public static void main(String[] args){
152         System.out.println("题目一:");
153         Text2 t2=new Text2();
154         Text2.San san=t2.new San(10,10,10);
155         System.out.println("三角形周长为:"+san.getZhou());
156         System.out.println("题目二:");
157         Text2.People peo=t2.new People("张三",18,"男",180);
158         System.out.println("我的名字叫:"+peo.getName());
159         peo.setName("李四");        
160         peo.operate();
161         System.out.println("题目三:");
162         System.out.println("点的坐标是:"+new Text2.Point(3,10).getX()+" "+new Text2.Point(3,10).getY());
163         System.out.println("题目四:");
164         Text2.ChongZai c=t2.new ChongZai(){
165             public void print(){
166                 System.out.println("内部类好麻烦~~");
167             }
168             public void print(String a){
169                 System.out.println(a);
170             }
171             public void print(String a,String b){
172                 System.out.println(a);
173                 System.out.println(b);
174             }
175         };
176         c.printl();
177         c.print();
178         c.print("内部类一是成员内部类,二是局部内部类");
179         c.print("内部类三是静态内部类,它就像静态成员一样使用","内部类四就是我,我叫做匿名内部类");
180     }
181 }

 

posted @ 2016-09-19 20:25  火山林风  阅读(230)  评论(0编辑  收藏  举报