博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

第二次作业

Posted on 2017-11-17 20:53  huang121  阅读(179)  评论(1)    收藏  举报

 

代码行数(新增/累计)

博客字数(新增/累计)

学习时间(新增/累计)

重要成长

目标

1500行

9000字

150小时

了解JAVA程序设计

第十一周

100/100

800/800

15/15

学习标识符以及关键字和运算符,基本数据类型。

第十二周

100/200

1000/1800

15/30

面向对象程序设计类,域,方法,实例对象,继承性,多态性

第十三周

100/300

2000/3800

15/45

变量作用域范围以及修饰词。

第十四周

......

.........

........

.........

 

 

1. 创建接口Flyer,封装在com.cvit包中,包含三个方法

  • 无返回值 takeOff()
  • 无返回值 land()
  • 无返回值 fly()

1Flyer.java

 

 

 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接口

  • 无返回值 takeOff(),打印输出第一行"----------------",第二行"airplane takeOff"
  • 无返回值 land(),打印输出第一行"----------------",第二行"airplane land"
  • 无返回值 fly(),打印输出第一行"----------------",第二行"airplane fly"

 

 1 package com.cvit;
 2 
 3 public class Airplane implements Flyer//创建Airplane类,类中实现Flyer接口作用
 4 
 5 {
 6 
 7          public void takeOff()
 8 
 9          {
10 
11                    System.out.println("---------------");
12 
13                    System.out.println("airplane takeOff");
14 
15          }
16 
17          public void land()
18 
19          {
20 
21                    System.out.println("---------------");
22 
23                    System.out.println("airplane land");
24 
25          }
26 
27          public void fly()
28 
29          {
30 
31                    System.out.println("---------------");
32 
33                    System.out.println("airplane fly");
34 
35          }
36 
37 }

 

 

3. 创建类SuperClass,封装在com.cvit包中

  • 声明整型变量x,
  • 构造方法实现以下功能,为x赋值为4,打印输出"in superClass : x = [x的值]"
  • 定义方法aMethod(),打印输出"in superClass.aMethod()"
     1 package com.cvit;
     2 
     3 public class SuperClass//创建SuperClass类
     4 
     5 {
     6 
     7 int x;
     8 
     9 public void Superclass()
    10 
    11 {
    12 
    13 x=4;
    14 
    15 System.out.println("in subClass:x="+x);
    16 
    17 }
    18 
    19 public void aMethod()
    20 
    21 {
    22 
    23 System.out.println("in superClass.aMethod()");
    24 
    25 }
    26 
    27  
    28 
    29 }

     

 

 

4. 创建类SubClass1,封装在com.cvit包中

  • 声明整型变量x,
  • 构造方法实现以下功能,为x赋值为6,打印输出"in subClass : x = [x的值]"
  • 定义方法aMethod()
    调用父类的构造方法;
    打印输出"in SubClass1.aMethod()";
    打印输出"super.x = [父类中x的值], sub.x=[子类中x的值]";
  • 定义方法aMethod(int a, int b),返回a+b的值
     1 package com.cvit;
     2 
     3 public class SubClass1 extends SuperClass //创建SubClass1类,继承superclass类
     4 
     5 {
     6 
     7 int x;
     8 
     9 public void SubClass1()//创建构造方法
    10 
    11 {
    12 
    13 x=6;
    14 
    15 System.out.println("in subClass : x ="+x);
    16 
    17 }
    18 
    19 public void aMethod()
    20 
    21 {
    22 
    23 super.Superclass();//调用父类的构造方法
    24 
    25 super.aMethod();//调用父类方法
    26 
    27 System.out.println("in SubClass1.aMethod()");
    28 
    29 System.out.println("super x="+super.x+"sub.x="+x);
    30 
    31 }
    32 
    33 public int aMethod(int a,int b)//定义方法返回a+b的值
    34 
    35 {
    36 
    37 int A;
    38 
    39 A=a+b;
    40 
    41 return A;
    42 
    43 }
    44 
    45 }

     

 

 

5. 创建类SubClass2,封装在com.cvit包中

  • 定义方法aMethod(),打印输出"in SubClass2.aMethod()"
  • 定义方法aMethod(int a, int b),返回a+b的值

   

 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包中

  • 定义方法aMethod(),打印输出"in SubClass3.aMethod()"
  • 定义方法aMethod(int a, int b),返回a+b的值

   

 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包中

  • 定义返回值为空的静态方法chooseClass(SubClass2 sub2)
  • 定义返回值为空的静态方法chooseClass(SubClass3 sub3)
  • 程序的入口方法实现
    定义整型变量x,赋值为7;
    创建Airplane类的对象airplane;
    调用Airplane类的takeOff方法;
    创建SubClass1类的对象sub1;
    调用SubClass1类的aMethod方法;
    调用SubClass1类的aMethod方法,传值(x, x),将得到的结果赋值给x;
    调用Airplane类的fly方法;
    创建SubClass2类的对象sub2;
    创建SubClass3类的对象sub3;
    调用chooseClass方法,将sub2作为参数传入;
    调用SubClass2类的aMethod方法,传值(x, x),将得到的结果赋值给x;
    调用chooseClass方法,将sub3作为参数传入;
    调用SubClass3类的aMethod方法,传值(x, x),将得到的结果赋值给x;
    调用Airplane类的fly方法;
 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.运行结果图。