Java复习回顾---7月9日回顾练习

抽象类

Java允许在定义方法时不写方法体,不包含方法体的方法是抽象方法,含有抽象方法的类必须是抽象类,抽象方法和抽象类都用abstract来修饰,抽象类只能被继承,不能实例化  new 对象,抽象类的子类必须包含抽象类的所有抽象方法。

接口

 1 package cn.ftf.practice01;
 2 
 3 public class TestInterface {
 4     public static void main(String[] args) {
 5     
 6         System.out.println(Animal1.ANIMAL_BEHAVIOR);
 7         Dog1 dog=new Dog1();
 8         System.out.println(dog.ANIMAL_BEHAVIOR);
 9         dog.breathe();
10         dog.eat();
11 }
12 }
13 interface Animal2 extends Animal1{    //接口也可以继承,可以继承多个接口,用”,“分隔开
14     void play();
15 }
16 interface Animal1{    //接口的定义方法,用interface关键字来声明
17     String ANIMAL_BEHAVIOR="动物的行为";    //常量默认修饰为Public static final
18     void breathe();
19     void eat();
20     void run();
21 }
22 class Dog1 implements Animal2,Animal1{  //实现接口的方法,用implement,类中必须包含接口中的所有方法,类可以实现多个接口,用”,“分隔开
23 
24     @Override
25     public void breathe() {
26         // TODO Auto-generated method stub
27         System.out.println("breath");
28     }
29 
30     @Override
31     public void eat() {
32         // TODO Auto-generated method stub
33         System.out.println("ear");
34     }
35 
36     @Override
37     public void run() {
38         System.out.println("run");
39     }
40 
41     @Override
42     public void play() {
43         // TODO Auto-generated method stub
44         System.out.println("play");
45         
46     }
47     
48 }

多态

 1 package cn.ftf.practice01;
 2 /**
 3  * 多测试态
 4  * @author 房廷飞
 5  *
 6  */
 7 public class Em04 {
 8     public static void main(String[] args) {
 9         Animal4 dog4=new Dog4();    //实现多态,允许使用父类类型的变量来引用子类类型的对象
10         Animal4 cat4=new Cat4();
11         Cat4 cat5=(Cat4) cat4;    //对对象进行类型转换,由父类型变为子类型,实现对子类特有类的调用
12         System.out.println(dog4 instanceof Dog4);    //instanceof关键字判断一个对象是否是一个类或接口的实例或子类
13         System.out.println(cat5 instanceof Animal4);//语法格式:对象 instanceof 类或接口
14         animalShout(dog4);
15         animalShout(cat4);
16         cat4.shot();
17         cat5.sleep();    //不能使用父类变量调用子类中的特有方法;需要对对象进行来行转换
18     }
19     public static void animalShout(Animal4 an) {
20         an.shot();
21     }
22 }
23 interface Animal4{
24     void shot();
25 }
26 class Dog4 implements Animal4{
27 
28     @Override
29     public void shot() {
30         // TODO Auto-generated method stub
31         System.out.println("狗叫汪汪汪");
32         
33     }
34     
35 }
36 class Cat4 implements Animal4{
37 
38     @Override
39     public void shot() {
40         // TODO Auto-generated method stub
41         System.out.println("猫叫喵喵喵");
42         
43     }
44     public void sleep() {
45         System.out.println("猫咪在睡觉!");
46     }
47     
48 }

一个综合应用小程序---物流系统小程序

项目工程文件:

Transportation.java

 1 package cn.ftf.SendTest;
 2 /**
 3  * 交通工具父类
 4  * @author 房廷飞
 5  *
 6  */
 7 public abstract class Transportation {  //含有abstract(抽象方法)的类需要是abstract类
 8     private String number;
 9     private String admin;
10     private String model;
11     public String getNumber() {
12         return number;
13     }
14     public void setNumber(String number) {
15         this.number = number;
16     }
17     public String getAdmin() {
18         return admin;
19     }
20     public void setAdmin(String admin) {
21         this.admin = admin;
22     }
23     public String getModel() {
24         return model;
25     }
26     public void setModel(String model) {
27         this.model = model;
28     }
29     public Transportation(String number, String admin, String model) {
30         super();
31         this.number = number;
32         this.admin = admin;
33         this.model = model;
34     }
35     public abstract void transport();
36 
37 }

Ztransportation.java

 1 package cn.ftf.SendTest;
 2 /**
 3  * 运输车辆类
 4  * @author 房廷飞
 5  *
 6  */
 7 public class Ztransportation extends Transportation implements Careable{
 8 
 9     public Ztransportation(String number, String admin, String model) {
10         super(number, admin, model);    //调用父类的构造方法
11         // TODO Auto-generated constructor stub
12     }
13 
14     @Override
15     public void care() {
16         // TODO Auto-generated method stub
17         System.out.println("车辆保养完毕!!!");
18     }
19 
20     @Override
21     public void transport() {
22         // TODO Auto-generated method stub
23         System.out.println("运输中!!!");
24         
25     }
26     
27 
28 }

Careable.java

 1 package cn.ftf.SendTest;
 2 /**
 3  * 保养接口
 4  * @author 房廷飞
 5  *
 6  */
 7 public interface Careable {
 8     public void care();
 9 
10 }

GPS.java

package cn.ftf.SendTest;
/**
 * 定义GPS接口
 * @author 房廷飞
 *
 */
public interface GPS {
    public String showCoordinate();

}

Phone.java

 1 package cn.ftf.SendTest;
 2 /**
 3  * 手机类,继承GPS类实现定位功能
 4  * @author 房廷飞
 5  *
 6  */
 7 public class Phone implements GPS{
 8 
 9     public String showCoordinate() {
10         // TODO Auto-generated method stub
11         return null;
12     }
13 
14 }

SendTest.java

 1 package cn.ftf.SendTest;
 2 /**
 3  * 快递任务类
 4  * @author 房廷飞
 5  *
 6  */
 7 public class SendTest {
 8     private String number;
 9     private double weight;
10     public String getNumber() {
11         return number;
12     }
13     public void setNumber(String number) {
14         this.number = number;
15     }
16     public double getWeight() {
17         return weight;
18     }
19     public void setWeight(double weight) {
20         this.weight = weight;
21     }
22     public SendTest(String number, double weight) {
23         super();
24         this.number = number;
25         this.weight = weight;
26     }
27     //送前准备
28     public void sendBefore() {
29         System.out.println("送前,重量和订单编号:"+this.number+this.weight);
30     }
31     //发送货物
32     public void send(Ztransportation zt,Phone p) {
33         System.out.println("发送货物中:"+zt.getAdmin()+zt.getModel()+zt.getNumber());
34         zt.transport();
35         System.out.println("定位功能:"+p.showCoordinate());
36     }
37     //送后操作
38     public void sendAfter(Ztransportation ztr) {
39         System.out.println("送后操作"+ztr.getAdmin()+ztr.getModel()+ztr.getNumber());
40     }
41 
42 }

TaskTest.java

 1 package cn.ftf.SendTest;
 2 /**
 3  * 测试项目类
 4  * @author 房廷飞
 5  *
 6  */
 7 public class TaskTest {
 8     public static void main(String[] args) {
 9         SendTest se=new SendTest("l1323244",23.345);
10         se.sendBefore();
11         Ztransportation zt=new Ztransportation("a123", "ftf", "baoma");
12         Phone p=new Phone();
13         se.send(zt, p);
14         se.sendAfter(zt);
15         zt.care();
16     }
17 
18 }

 

 

 

 

转载于:https://www.cnblogs.com/fangtingfei/p/11160838.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值