1、

代码:

package class20191021;

class Grandparent
{ public Grandparent()
{ System.out.println("GrandParent Created."); } public Grandparent(String string)
{ System.out.println("GrandParent Created.String:" + string); } } class Parent_2 extends Grandparent
{ public Parent_2()
{ //super("Hello.Grandparent."); System.out.println("Parent Created"); // super("Hello.Grandparent."); } } class Child_1 extends Parent_2
{ public Child_1()
{ System.out.println("Child Created"); } } public class TestInherits
{ public static void main(String args[])
{ Child_1 c = new Child_1(); } }

运行结果:

GrandParent Created.
Parent Created
Child Created

修改代码后的运行结果:

GrandParent Created.String:Hello.Grandparent.
Parent Created
Child Created

说明了GrandParent的另一个构造方法运行了,在运行子类前必先运行父类的构造方法,且super方法只能放在子类构造函数的第一句。

因为子类继承了父类的属性和方法,要想初始化子类的对象,则需要父类的属性和方法,所以需要先构造父类的属性和方法,所以要调用父类的构造方法,然后再构造自己在父类的基础上增加的属性和方法。

2、

反编译结果:

再查看jdk中的源码:

会发现输出的是object类,然而object类转换成字符串时会变成  类名@地址 的格式。

3、

编写的代码:

package class20191021;

public class TestOverwrite {
public static void main(String[] args) {
BBB b = new BBB();
b.f1();
b.f2();
}
} class AAA{
public void f1() {
System.out.println("A run!");
}
} class BBB extends AAA{
public void f1() {
System.out.println("B run!");
}
public void f2() {
super.f1();
}
}

运行结果:

B run!
A run!

4、

猜测:

第二句会出错。

结果:

结果是第二句和第四句会出错。说明了父类可以向子类类型转换,而不同的子类直接不能类型转换。

5、

运行结果:

Parent.printValue(),myValue=100
Child.printValue(),myValue=200
Child.printValue(),myValue=200
Child.printValue(),myValue=200
Child.printValue(),myValue=201

6、

不合理的地方:

都是同一个操作--喂养,但是要写三个不同的方法。

7、

代码:

package class20191021;

public class TestDuotai {

    public static void main(String[] args) {
Feeder feeder = new Feeder();
feeder.feed(new lion());
feeder.feed(new cat_1());
}
}
class Feeder{ public void feed(Animal m) {
m.eat();
}
} interface Animal{
public void eat();
} class lion implements Animal{
public void eat() {
System.out.println("狮子要吃肉!");
}
} class cat_1 implements Animal {
public void eat() {
System.out.println("猫咪爱吃鱼!");
}
}

运行结果:

狮子要吃肉!
猫咪爱吃鱼!

JAVA课堂作业(2019.10.21)的更多相关文章

  1. Java学习作业(14.4.21)

    前三次作业都是基础语法.真的好水啊.从这次开始记录. 1.编写Java程序,把当前目录下扩展名为txt的文件的扩展名全部更名为back. import java.io.*; import java.l ...

  2. Java课堂作业详解

    今天的Java课堂留下了一个作业:使用Eclipse编写一个程序,使输入的两个数进行加和,并且输出他们的和.对于这个题目,我们首先可以把它分解成为三个不同的小步骤 第一步就是输入这两个数,因为我们无需 ...

  3. java课后作业2019.11.04

    一.编写一个程序,指定一个文件夹,能够自动计算出其总容量 1.代码 package HomeWork; import java.io.File; public class getFileDaxiao ...

  4. JAVA课堂作业(2019.10.14)

    一. (1)代码 package class20191014; import java.util.Scanner; public class ClassHomework { public static ...

  5. js第二次作业——2019.10.16

    第一题:完成省城市的三级联动(包括湖南省),附代码和效果图. 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 </head> ...

  6. java课后作业2017.10.20

    动手动脑1: public class Test{ public static void main(String args[]) { Foo obj1=new Foo(); }}class Foo{ ...

  7. 第二周Java课堂作业

    演示一: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size ...

  8. java课堂作业4

    第一题 字符串加密问题 1.程序设计思想 读入字符串,然后获取其长度,利用charAt()获取每个位置字符并且对字符加3实现加密处理,并存入新字符串中.如果遇到xyz则减26存入. 2.程序流程图 3 ...

  9. java课堂作业3 动手动脑

    第一题 测试一下代码查看输出结果 public class InitializeBlockDemo { /** * @param args */ public static void main(Str ...

随机推荐

  1. Java swing实现酒店管理系统

    今天给大家提供一个由今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用sqlserver,我会贴上部分代码,完整的代码请看文章最下方下载,下面看代码: 1.主框架代码: packa ...

  2. ClassNotFoundException: java.util.ArrayList$SubList 错误

    ClassNotFoundException: java.util.ArrayList$SubListjava.lang.RuntimeException: java.lang.ClassNotFou ...

  3. PF_PACKET抓包mmap

    PACKET套接口创建 内核函数packet_create处理PF_PACKET套接口的创建工作.其参数sock->type决定了采用哪一种工作模式,如果参数type为SOCK_PACKET即第 ...

  4. linux netfilter nat1

    linux netfilter nat1 2020整理云笔记上传

  5. Linux安装JAVA并且配置环境

    在写之前我先说一下我遇到的坑,我在配置环境的时候由于/etc/profile文件没有配置好导致系统彻底坏掉 1.ls vi等等命令使用不了,报错说找不到命令 2.在重启后虚拟机不能进入桌面 1.下载j ...

  6. 关于backfill参数建议

    前言 在做一个比较满的集群的扩容的时候,遇到了一些问题,在这里做下总结,一般来说很难遇到,扩容要趁早,不然出的问题都是稀奇古怪的一些问题 建议 环境一般来说在70%左右就需要考虑扩容了,这个时候的扩容 ...

  7. Java从后端下载文件到浏览器

    // 注: // 获取项目下文件或者文件流 // File file = new File(this.getClass().getResource("/xls/adminImportUser ...

  8. 灵活运用的@RequestParam和@RequestBody

    最近在编写项目的过程中,老出现前后端传递参数格式不一致.不统一的问题,对于一个已经快工作一年的Java程序员来说,实属不合格,所以我就下来好好研究了一下@RequestParam和@RequestBo ...

  9. 【进阶之路】Redis基础知识两篇就满足(二)

    导言 大家好,我是南橘,一名练习时常两年半的java练习生,这是我在博客园的第二篇文章,当然,都是要从别处搬运过来的,不过以后新的文章也会在博客园同步发布,希望大家能多多支持^_^ 这篇文章的出现,首 ...

  10. thinkPHP命令执行漏洞

    thinkPHP中反斜杠的作用是类库\命名空间 命令执行的姿势 通过反射invokefunction调用call_user_func_array方法,call_user_func_array函数接受两 ...