第二次作业

  代码行数/累积 博客字数/累积 学习时间/累积
目标 1000 10000 100
第十一周 50/50 0/0 3/3
第十二周 100/150 0/0 7/10
第十三周 160/310   10/20

前6个都是定义,所以静下来一个一个打
打到主函数的时候,一行一行看,慢慢打
主要用到几个知识点;
定义类 定义接口 继承 创建对象 定义有无返回值的方法 定义构造方法 定义静态方法 调用 封装方法
进行编译的时候出现了错误,主要有几点:
1.在编译是没有加 -d . 所以就没有生成文件夹 没打包成功 导致出现了 找不到类/符号的错误
2.再定义有返回值的时候忘记写返回值类型了
3.定义静态方法是没加方法体

  1 1. 创建接口Flyer,封装在com.cvit包中,包含三个方法    
  2 
  3 无返回值 takeOff()
  4 无返回值 land()
  5 无返回值 fly()
  6 package com.cvit;          封装方法 关键字package
  7 interface Flyer
  8 {
  9 public void takeOff();        定义三个方法 因为接口默认是抽象的 所以没有方法体 要在子类体现
 10 public void land();
 11 public void fly();
 12 }
 13 2. 创建类Airplane,封装在com.cvit包中,实现Flyer接口
 14 
 15 无返回值 takeOff(),打印输出第一行"----------------",第二行"airplane takeOff"
 16 无返回值 land(),打印输出第一行"----------------",第二行"airplane land"
 17 无返回值 fly(),打印输出第一行"----------------",第二行"airplane fly"
 18 class Airplane implements Flyer           运用了implements关键字 实现了接口继承
 19 {
 20 public void takeOff()            实现了接口方法 添加了方法体
 21 {
 22 System.out.println("------------");  输出语句
 23 System.out.println("airplane takeOff");
 24       ..
 25       ..
 26 }
 27 3. 创建类SuperClass,封装在com.cvit包中
 28 
 29 声明整型变量x,
 30 构造方法实现以下功能,为x赋值为4,打印输出"in superClass : x = [x的值]"
 31 定义方法aMethod(),打印输出"in superClass.aMethod()"
 32 class SuperClass        定义类 关键字为class
 33 {
 34 public int x;                     
 35 public SuperClass()      定义构造方法 构造方法与类名要相同 
 36 {
 37 x=4;
 38 System.out.println("in superClass:x="+x);
 39 }
 40 public void aMethod()       定义普通方法 注意有没有返回值  如果没有用void如果有要表明返回值类型 如:int,double等等
 41 {
 42 System.out.println("in superClass.aMethod()");
 43 }
 44 }
 45 4. 创建类SubClass1,封装在com.cvit包中
 46 
 47 声明整型变量x,
 48 构造方法实现以下功能,为x赋值为6,打印输出"in subClass : x = [x的值]"
 49 定义方法aMethod()
 50 调用父类的构造方法;
 51 打印输出"in SubClass1.aMethod()" 52 打印输出"super.x = [父类中x的值], sub.x=[子类中x的值]" 53 定义方法aMethod(int a, int b),返回a+b的值
 54  
 55 
 56 class SubClass1 extends SuperClass           继承主要关键字extends
 57 {
 58 public int x;
 59 public SubClass1()                     定义构造方法 构造方法与类名要相同
 60 {
 61 x=6;
 62 System.out.println("in subClass:x="+x);
 63 }
 64 public void aMethod()                  定义普通方法 没有返回值
 65 {
 66 super.aMethod();
 67 System.out.println("super.x="+super.x+"sub.x="+x);
 68 }
 69 public int aMethod(int a,int b)            定义普通方法 有返回值 用到return 在调用时给值
 70 {
 71 int s=a+b;
 72 return s;
 73 }
 74 }
 75 5. 创建类SubClass2,封装在com.cvit包中
 76 
 77 定义方法aMethod(),打印输出"in SubClass2.aMethod()"
 78 定义方法aMethod(int a, int b),返回a+b的值
 79 class SubClass2                       定义类                    
 80 {
 81 public void aMethod()                  定义方法
 82 {
 83 System.out.println("in SubClass2.aMethod()");
 84 }
 85 public int aMethod(int a ,int b)           定义方法 有返回值
 86 {
 87 int s=a+b;
 88 return s;
 89 }
 90 }
 91 6. 创建类SubClass3,封装在com.cvit包中
 92 
 93 定义方法aMethod(),打印输出"in SubClass3.aMethod()"
 94 定义方法aMethod(int a, int b),返回a+b的值
 95  
 96 
 97 class SubClass3                    定义类
 98 {
 99 public void aMethod()               定义方法
100 {
101 System.out.println("in SubClass3.aMethod()");
102 }
103 public int aMethod(int a ,int b)         定义方法 有返回值
104 {
105 int s=a+b;
106 return s;
107 }
108 }
109 7. 创建主类Main,封装在com.cvit包中
110 
111 定义返回值为空的静态方法chooseClass(SubClass2 sub2)
112 定义返回值为空的静态方法chooseClass(SubClass3 sub3)
113 程序的入口方法实现
114 定义整型变量x,赋值为7;
115 创建Airplane类的对象airplane;
116 调用Airplane类的takeOff方法;
117 创建SubClass1类的对象sub1;
118 调用SubClass1类的aMethod方法;
119 调用SubClass1类的aMethod方法,传值(x, x),将得到的结果赋值给x;
120 调用Airplane类的fly方法;
121 创建SubClass2类的对象sub2;
122 创建SubClass3类的对象sub3;
123 调用chooseClass方法,将sub2作为参数传入;
124 调用SubClass2类的aMethod方法,传值(x, x),将得到的结果赋值给x;
125 调用chooseClass方法,将sub3作为参数传入;
126 调用SubClass3类的aMethod方法,传值(x, x),将得到的结果赋值给x;
127 调用Airplane类的fly方法;
128  
129 
130 public class Main                       定义类
131 {
132 public static void chooseClass(SubClass2 sub2)    定义静态方法 用static
133 {
134  
135 }
136 public static void chooseClass(SubClass3 sub3)
137 {
138  
139 }
140 public static void main (String args[])        程序的入口方法实现
141 {
142 int x=7;
143 Airplane airplane=new Airplane();             为类创建对象 类名 对象名=new类名()
144 airplane.takeOff();                    调用类的方法 对象名.方法名
145 SubClass1 sub1=new SubClass1();
146 sub1.aMethod();
147 int a =sub1.aMethod(x,x);                因为有返回值所以要定义一个a来接受这个返回值
148 System.out.println(a);
149 airplane.fly();
150 SubClass2 sub2=new SubClass2();
151 SubClass3 sub3=new SubClass3();
152 chooseClass(sub2);                    调用静态方法 传入对象
153 int b =sub2.aMethod(x,x);
154 System.out.println(b);
155 chooseClass(sub3);
156 int c =sub3.aMethod(x,x);
157 System.out.println(c);
158 airplane.fly();
159 }
160 }    

 

 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2017-11-17 20:06  X0205  阅读(182)  评论(1编辑  收藏  举报