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. 【开发板试用报告】鸿蒙OS环境搭建及代码烧录

    鸿蒙系统的代码编译环境需要linux系统,软件开发和代码烧录需要windows环境. Linux环境 参考官方链接:https://gitee.com/openharmony/docs/blob/ma ...

  2. ubuntu下minicom安装和简单设置使用

    minicom是一个串口通信工具. Ubuntu下的安装: 打开终端 sudo apt-get install minicom即可完成安装. 简单设置使用: 安装完成后第一次启动时运行 sudo mi ...

  3. ImpalaTest

    package com.niewj.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...

  4. JavaScript一元运算符、二元运算符和三元运算符

    在JavaScript中,运算符可以根据其实际操作数的个数进行分类. JavaScript中的大多数运算符是一个二元运算符(binary operator),将两个表达式合并成为一个稍复杂的表达式.譬 ...

  5. nginx&http 第二章 ngx 事件event配置等初始化

    event事件模块,配置分为两层:ngx_events_module 事件模块 和 ngx_event_core_module 事件核心模块.ngx_events_module:模块类型NGX_COR ...

  6. 流编辑器:sed

    一 简介:sed是一个精简的.非交互式的流式编辑器,它在命令行中输入编辑命令和指定文件名,然后在屏幕上查看输出.逐行读取文件内容到临时缓冲区,称为模式空间.接着用sed命令处理缓冲区内容,处理完之后, ...

  7. 基于FFmpeg的Dxva2硬解码及Direct3D显示(五)

    解码及显示 目录 解码及显示 解码 显示 资源清理 解码 循环读取视频帧 AVPacket packet = { 0 }; while (av_read_frame(m_pFmtCtx, &p ...

  8. 常用linux源列表

    本篇记录一些常用的源文件,后面需要用到的时候,直接进行复制粘贴即可 centos 相关 base源 [base] name=CentOS-$releasever - Base - mirrors.al ...

  9. CSS z-index应用靠近用户的框

    1.z-index (1)z轴.数值越大,越靠近你 (2)只能作用于定位过的标签元素 应用示例 <!DOCTYPE html> <html lang="zh-CN" ...

  10. [Kafka][1][初识Kafka]

    目录 第1章 初识Kafka 1.1 发布与订阅消息系统 1.1.1 如何开始 1.1.2 独立的队列系统 1.2 Kafka登场 1.2.1 消息和批次(Message and batch) 1.2 ...