第二次作业
|
代码行数(新增/累计) |
博客字数(新增/累计) |
学习时间(新增/累计) |
重要成长 |
目标 |
1300行 |
8000字 |
130小时 |
了解JAVA程序设计 |
第十一周 |
200/200 |
600/600 |
10/10 |
学习标识符以及关键字和运算符,基本数据类型。 |
第十二周 |
200/400 |
800/1400 |
10/20 |
面向对象程序设计类,域,方法,实例对象,继承性,多态性 |
第十三周 |
100/500 |
2000/3400 |
15/35 |
变量作用域范围以及修饰词。 |
第十四周 |
...... |
......... |
........ |
.........
|
根据题意共需创建六个类及一个主类,Airplane实现了Flyer接口,subClass1与SuperClass存在继承的关系。
1. 创建接口Flyer,封装在com.cvit包中,包含三个方法
1 package com.cvit;//创建包 封装在com.cvit路径中 2 3 public interface Flyer 4 5 { 6 7 public void takeOff(); 8 9 public void land(); 10 11 public void fly(); 12 13 }
2. 创建类Airplane,封装在com.cvit包中,实现Flyer接口
1 Airplane.java 2 3 4 package com.cvit; 5 6 public class Airplane implements Flyer//创建Airplane类,类中实现Flyer接口作用 7 8 { 9 10 public void takeOff() 11 12 { 13 14 System.out.println("---------------"); 15 16 System.out.println("airplane takeOff"); 17 18 } 19 20 public void land() 21 22 { 23 24 System.out.println("---------------"); 25 26 System.out.println("airplane land"); 27 28 } 29 30 public void fly() 31 32 { 33 34 System.out.println("---------------"); 35 36 System.out.println("airplane fly"); 37 38 } 39 40 }
3. 创建类SuperClass,封装在com.cvit包中
1 2 3 package com.cvit; 4 5 public class SuperClass//创建SuperClass类 6 7 { 8 9 int x; 10 11 public void Superclass() 12 13 { 14 15 x=4; 16 17 System.out.println("in subClass:x="+x); 18 19 } 20 21 public void aMethod() 22 23 { 24 25 System.out.println("in superClass.aMethod()"); 26 27 } 28 29 30 31 }
4. 创建类SubClass1,封装在com.cvit包中
1 package com.cvit; 2 3 class SubClass1 extends SuperClass 子类继承父类 关键字 extends 4 5 { 6 7 public int x; 8 9 public SuperClass() 定义构造方法 10 11 { 12 13 x=6 14 15 System.out.println("in subClass : x = "+x); 16 17 } 18 19 public void aMethod() 定义普通方法 无返回值所以用void 20 21 { 22 23 super.aMethod(); 24 25 System.out.println("super.x =" +SuperClass," sub.x="+x); 26 27 } 28 29 public void aMethod(int a, int b) 30 31 { 32 33 return a; 34 35 return b; 36 37 } 38 39 }
5. 创建类SubClass2,封装在com.cvit包中
1 package com.cvit; 2 3 public class SubClass2//创建SubClass2类 4 5 { 6 7 public void aMethod() 8 9 { 10 11 System.out.println("in SubClass2.aMethod()"); 12 13 } 14 15 public int aMethod(int a,int b) 16 17 { 18 19 int A; 20 21 A=a+b; 22 23 return A; 24 25 } 26 27 }
6. 创建类SubClass3,封装在com.cvit包中
1 package com.cvit; 2 3 public class SubClass3//创建SubClass3类 4 5 { 6 7 public void aMethod() 8 9 { 10 11 System.out.println("in SubClass3.aMethod()"); 12 13 } 14 15 public int aMethod(int a,int b) 16 17 { 18 19 int A; 20 21 A=a+b; 22 23 return A; 24 25 } 26 27 }
7. 创建主类Main,封装在com.cvit包中
1 package com.cvit; 2 3 public class Main//创建主类main 4 5 { 6 7 public static void chooseClass(SubClass2 sub2) 8 9 { 10 11 12 13 } 14 15 public static void chooseClass(SubClass3 sub3) 16 17 { 18 19 20 21 } 22 23 public static void main(String args[]) 24 25 { 26 27 int x=7; 28 29 Airplane airplane=new Airplane();//创建Airplane类的对象airplane; 30 31 airplane.takeOff();//调用Airplane类的takeOff方法; 32 33 SubClass1 sub1=new SubClass1(); 34 35 sub1.aMethod(); 36 37 int a=sub1.aMethod(x,x); 38 39 System.out.println(a); 40 41 airplane.fly(); 42 43 SubClass2 sub2=new SubClass2(); 44 45 SubClass3 sub3=new SubClass3(); 46 47 chooseClass(sub2); 48 49 int b=sub2.aMethod(x,x);//用x承接返回值 50 51 System.out.println(b); 52 53 chooseClass(sub3); 54 55 int c=sub3.aMethod(x,x); 56 57 System.out.println(c); 58 59 airplane.fly(); 60 61 } 62 63 }
3.运行结果图