• 第三次作业


    一、学习要点

    认真看书并查阅相关资料,掌握以下内容:

    掌握类的继承概念和设计
    掌握构造方法的继承原则
    掌握方法重写
    掌握super键字和final关键字
    掌握对象转型,理解通过向上转型实现对象多态。
    掌握抽象类的设计
    掌握接口的设计
    掌握接口回调
    理解简单工厂设计模式
    理解抽象类和接口的区别
    掌握包装类的应用
    掌握对象的比较方法和比较器的使用
    学习使用日期操作类
    学习匿名内部类的使用
    二、作业要求

    发布一篇随笔,主要包括以下几部分的内容:

    (一)学习总结

    1.阅读下面程序,分析是否能编译通过?如果不能,说明原因。应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来?
    不能,将super("Hello.Grandparent.");这句话去掉是三个类无参输出,在子类的无参构造方法中,有隐含的程序:super(),这句话的意义是调用父类的无参构造方法。
    2.阅读下面程序,分析程序中存在哪些错误,说明原因,应如何改正?正确程序的运行结果是什么?
    这个程序里存在覆写的问题,即当父类与子类当中存在相同的方法名,这个时候程序会优先调用子类里的方法,即(“汪汪叫”);我们可以是父类向下转型
    Dog dog =(Dog)animal;dog.shout();完成向下转型,可以调用父类的shout方法
    3.运行下列程序
    (1)程序的运行结果如下,说明什么问题?
    说明返回的是地址的值,而不是地址。
    (2)那么,程序的运行结果到底是什么呢?利用eclipse打开println(per)方法的源码,查看该方法中又调用了哪些方法,能否解释本例的运行结果?
    返回原本数据类型
    public void println(String x) {
    synchronized (this) {
    print(x);
    newLine();
    }
    }
    (3)在Person类中增加如下方法

    4.汽车租赁公司,出租汽车种类有客车、货车和皮卡三种,每辆汽车除了具有编号、名称、租金三个基本属性之外,客车有载客量,货车有载货量,皮卡则同时具有载客量和载货量。用面向对象编程思想分析上述问题,将其表示成合适的类、抽象类或接口,说明设计思路。现在要创建一个可租车列表,应当如何创建?
    将编号,名称,租金定义进成借口,载客量和载货量分别定义借口,创建三个汽车类,来实现所对应的借口
    再定义一个类,用于展示所有信息和元素改变时进行的操作,在主函数中进行客户所需要的操作
    5.阅读下面程序,分析代码是否能编译通过,如果不能,说明原因,并进行改正。如果能,列出运行结果
    不能,改正如下

    
    package 测试;
    
    interface Animal{    
            void breathe();
            void run();
            void eat();
        }
    class Dog implements Animal{
            public void breathe(){
                System.out.println("I'm breathing");
            }
            public void eat(){
                System.out.println("I'm eating");
            }
    		@Override
    		public void run() {
    			System.out.println("I'm runing");
    			
    		}
        }
        public class Demo{
            public static void main(String[] args){
                Dog dog = new Dog();
                dog.breathe();
                dog.eat();
                dog.run();
            }
        }
    
    

    6.对于接口我在网上看到了一个有趣的例子,有人和我打电话,让我去完成一件事,但是我现在在执行别的任务,所以要等到以后才可以完成这件事,但是我不能让对面一只打着电话等着我,所以呢,我让对方先挂了电话,等到我完成的时候,我再打电话过去,这样,接口的意义就完成了。

    实验四第一题
    在主类中设有参构造方法,将贸易额和密码等由测试类传递给主类,如果要单独调用一种东西时,是需要将该类实例化,然后用get方法实现
    实验四第二题
    在父类员工类进行员工信息的输入输出,然后令子类管理类定义管理信息,员工也可以是管理员,只需要进行标记就可以
    实验四第三题
    我定义了9个类,6个类分别对应数学模型的半径,底长和高等,一个测试类,一个返回面积类和返回体积类,抽象类是无法实例化的,我是用随机方法定义输入的
    不过最好用nextInt,因为用double类型会多出麻烦的小数
    实验四第四题
    定义一个类,输出喂食三种动物,在定义一个类,其中调用这三种方法,在测试类中定义动物个数,饲养人员。注意传参的问题因为我好像将引用喂食方法简化了,可用有瑕疵
    实验五第一题
    在主函数传递宠物的品种,颜色,价格,数量,金额,展示这里有点懵,找来找去不知道怎么展示,于是在颜色哪里加了一个“色”通用字,这样通过查找色就可以展示所有信息了
    实验五第二题
    如果子类和父类中有相同的名字的方法,这样父类的会被腹泻,而super就是为了调用父类的而存在的,我将animal定义为借口,cat,dog来实现接口,simulator来实现接口回调,在测试类实例化cat或dog,来分别调用cat和dog的叫声
    实验五第三题
    依题意实现三个信息的类和两个信息的类,令别的类继承,并输出快递前中后的信息,这道题我实例化JD后,调用toString想要输出,接货得不出结果,最后发现因为System.out.print(jd.toString)的原因,这个是输出,我写的只是调用,返回值不能输出。

  • 相关阅读:
    Python-22-并发编程
    hadoop学习记录(二)HDFS java api
    hadoop学习记录(一)HDFS
    hadoop学习记录(零)
    android 下载instagram动态中图片的demo
    android 使用<merge>标签
    利用dijkstra算法规划线路
    Android Studio如何引用外部Library工程
    设计模式(二):单例模式
    设计模式(一):设计模式入门
  • 原文地址:https://www.cnblogs.com/yeqingsong/p/8759018.html
Copyright © 2020-2023  润新知