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. python编写实现抽奖器

    这篇文章主要为大家详细介绍了python编写实现抽奖器,文中代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 # coding=utf-8 import sys import os ...

  2. Pandas_工资集处理

    import numpy as np import pandas as pd from pandas import Series,DataFrame # 1--读取数据文件 file_obj=open ...

  3. SpringBoot中的响应式web应用

    目录 简介 Reactive in Spring 注解方式使用WebFlux 编程方式使用webFlux Spring WebFlux的测试 总结 简介 在Spring 5中,Spring MVC引入 ...

  4. icmp port unreachable

    端口不可达: client------>server 结果server回复端口不可达, 由于是icmp报文: 到达client内核协议栈后进入icmp_rcv处理: /* * Deal with ...

  5. tcpack--3快速确认模式- ack状态发送&清除

    ACK发送状态的转换图 ACK的发送状态清除 当成功发送ACK时,会删除延迟确认定时器,同时清零ACK的发送状态标志icsk->icsk_ack.pending ACK发送事件主要做了:更新快速 ...

  6. 02、MyBatis XML 全局配置文件

    MyBatis-全局配置文件 在MyBatis中全局配置文件有着重要的地位,里面有9类行为信息;如果我们要想将MyBatis运用的熟练,配置全局配置文件是必不可少的步骤,所以我们一定要啃下这一块硬骨头 ...

  7. CTF-Web-NSCTF-解密WP

    CTF-Web-NSCTF-解密WP 题目链接-攻防世界-web2 知识考察:PHP代码审计.逆向加解密 解题思路 先搞清楚各个PHP函数的含义 <?php $miwen="a1zLb ...

  8. MYSQL渗透测试

    部分来源于:先知社区 MYSQL-getshell篇 通过日志getshell 查看日志的物理路径(绝对路径) show variables like '%general%'; 打开日志记录内容 se ...

  9. [原题复现][2020i春秋抗疫赛] WEB blanklist(SQL堆叠注入、handler绕过)

    简介 今天参加i春秋新春抗疫赛 一道web没整出来 啊啊啊 好垃圾啊啊啊啊啊啊啊  晚上看群里赵师傅的buuoj平台太屌了分分钟上线 然后赵师傅还分享了思路用handler语句绕过select过滤.. ...

  10. SpringBoot整合MyBatis,HiKari、Druid连接池的使用

    SpringBoot整合MyBatis 1.创建项目时勾选mybatis.数据库驱动.   mysql驱动默认是8.x的版本,如果要使用5.x的版本,创建后到pom.xml中改. 也可以手动添加依赖 ...