第七周动手动脑(2018.10.29-11.4)

yeshenfeng yeshenfeng     2023-01-15     411

关键词:

动手动脑1:

运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大!

运行截图:

技术分享图片

结论:通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。

动手动脑2:

请自行编写代码测试以下特性:

在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。

package ceshi;

class Animal 

    public int age=10;

    public String name;

    public void eat()

           System.out.println("吃东西");

    

    public Animal(int age)

           this.age=age;

    System.out.println("执行了构造方法");

    

   





class Dog extends Animal

    public int age=20;

    public void eat()

           System.out.println("狗能吃骨头");

           

           public Dog(int age)

                  super(age);

                  System.out.println("Dog构造方法执行了");

           


package ceshi;

public class Test 

    public static void main(String[] args)

           Animal a=new Animal(10);

           a.eat();

           Dog b=new Dog(20);

           b.eat();

           
    
    

  截图:

技术分享图片

动手动脑3:

技术分享图片

 技术分享图片

答:

1.

技术分享图片

2.

(1)子类对象可以赋值给父类的对象。父类进行子类强制转换可以赋值给子类的对象。

(2)子类能覆盖父类,但是父类中的变量的值是不改变的,访问父类中的变量时可用super来访问,反之则一直被子类覆盖。父类被覆盖时,对父类中的变量进行操作时,父类中的变量改变,但输出时仍输出覆盖父类的子类的变量。

(3)(child)Parent.myValue++,这时改变的将是覆盖父类的子类。

3.

当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。

这个特性实际上就是面向对象“多态”特性的具体表现。

如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段)。如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它。

如果子类被当作父类使用,则通过子类访问的字段是父类的!

 

第二小组第七周学习心得

经过前几周的学习,我们小组成员已经总体上了解了《构建之法》中提到的一些对于软件编程的方法和技巧。当然,光看书上的内容还是没有什么太大的收获,必须要自己动手写代码,才能知道自己的缺点和不足,并且得以改正... 查看详情

第七周学习总结

码云链接 查看详情

第七周

查看详情

第七周笔记

查看详情

第七周总结

总结 查看详情

学习进度条(第七周)

第七周的学习进度条  第七周所花时间1700分钟代码量3200行博客量2篇  了解知识点一个简单的web管理系统的建立,四则运算的web应用。大数据的学习 查看详情

第七周测试

     查看详情

第七周笔记150206201

  查看详情

第七周-学习进度条

 第七周所花时间(包括上课)20h代码量(行)300博客园(篇)2了解到的知识点sqlite的基础知识 查看详情

第七周学习进度表

第七周学习进度表时间第七周所花时间10个小时左右代码量400行左右博客量3篇了解到的知识点Javabean的运用,web网页的跳转 查看详情

第七周psp

本周psp饼图:随笔字数折线图: 代码量折线图:   查看详情

数据结构第七周

查看详情

第七周--例行报告

Ⅰ本周PSPⅡ本周进度条Ⅲ累积折线统计图Ⅳ本周PSP饼状图  查看详情

动手动脑

[动手动脑]:编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数 代码:packagesuiji;importjava.util.Scanner;publicclassSuiji{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub     &n 查看详情

动手动脑-4(代码片段)

package动手动脑;publicclass基类public基类()System.out.println("基类Created.");public基类(Stringstring)System.out.println("基类Created.String:"+string);package动手动脑;publicclass父类extends基类public父类()super("Hell 查看详情

第七周总结

所学时间15H代码量700发表博客数4所学的知识python的一些知识springaop的简单使用 查看详情

第七周

                       查看详情

第七周学习进度总结

 记录时间:第七周所花时间(包括上课)8h代码量(行)约1000行博客量(篇)1篇了解到的知识点地铁售票系统的编写思路和方法 查看详情