10月21日动手动脑

自行编写代码测试以下特性,在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。

package src.afterclass;

public class dongshoudongnao
{
    public static void main(String args[])
    {
        EF ef=new EF("张三");
        ef.fly();
    }

}
class ABC
{
    private String name;

    public  ABC(String name)
    {
        this.name = name;
    }
    public void fly()
    {
        System.out.println("父类");
    }
}
class EF extends ABC
{
    public EF(String name) {
        super(name);
        // TODO Auto-generated constructor stub
    }

    public void fly()
    {
        //super.fly();
        System.out.println("子类");
    }
}

package src.afterclass;

public class dongshoudongnao
{
    public static void main(String args[])
    {
        EF ef=new EF("张三");
        ef.fly();
    }

}
class ABC
{
    private String name;

    public  ABC(String name)
    {
        this.name = name;
    }
    public void fly()
    {
        System.out.println("父类");
    }
}
class EF extends ABC
{
    public EF(String name) {
        super(name);
        // TODO Auto-generated constructor stub
    }

    public void fly()
    {
        super.fly();
        System.out.println("子类");
    }
}

第一个是调用的父类的函数,

第二个调用子类的函数;

第三个是将子类赋给父类,相当于调用的是子类;

第五个是将父类强制转化成子类;

下面哪一个会导致程序运行时错误?

m=d; d=m; d=(Dog)m; d=c; c=(Cat)m;

先进行自我判断,得出结论后,运行相关代码,看看你的判断是否正确。

自我判断:"d=m","d=c"引起编译错误

                “c=(Cat)m”引起运行时错误

原因:“d=m”编译错误是因为Mammal类是Dog类的父类,子类中的成员比父类的多,父类无法将子类初始化;

“d=c”编译错误是因为两者代表不同的类,不能给对方赋值;

“c=(Cat)m”会引起运行时错误是因为Dog类的对象d已将Mammal类的对象m初始化,m被转换为Dog类后不能再转换为Cat类。

原文地址:https://www.cnblogs.com/1234yyf/p/11748678.html

时间: 2024-11-05 18:34:07

10月21日动手动脑的相关文章

Howdoo中文社区AMA总结(10月21日)

10月21日Howdoo举办了中文社区的首次AMA活动,CEO -David Brierley和CMO -Jason Sibley加入到社群中与大家交流并回答社区成员的相关问题. 以下是精选的问题总结. 问题1:howdoo未来的真正价值是什么? 值得长期持有吗?Jason: 嗨大家好我是Jason,很好的问题关于代币实用性赋予UDOO价值.首先,我们是一个以内容交付系统为核心的社交媒体平台,用户可以拥有自己的数据,内容创造者可以货币化自己的内容.目前我们有大约6000名用户,有10万个预注册用

2019年10月21日课堂测试

一.题目 石家庄铁道大学2019年秋季   2018 级课堂测试试卷(六)(10分) 课程名称: JAVA语言程序设计  任课教师:王建民        考试时间: 150 分钟 一.   考试要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要求用单选框或下拉框实现,选项只有“男”或“女”:(1分) 4学号:要求八位数字组成,前四位为“2018”开头,输入自

【HTML样式】2015年10月21日学习HTML笔记

1.HTML CSS 例: *使用添加到<head> 部分的样式信息对HTML进行格式化(对显示的文本添加格式化,比如:显示的标题颜色和段落颜色) <html> <head><style type="text/css">h1 {color: red}p {color: blue}</style></head> <body><h1>header 1</h1><p>A p

2016年10月21日 星期五 --出埃及记 Exodus 19:5

Now if you obey me fully and keep my covenant, then out of all nations you will be my treasured possession. Although the whole earth is mine, 如今你们若实在听从我的话,遵守我的约,就要在万民中作属我的子民,因为全地都是我的.

【HTML段落】2015年10月21日学习HTML笔记

1.HTML段落是由<p>标签定义的(块级元素) 例如:<p>大家好</p> 注:不能忘了结束标签:不要用一个段落标签去插入一个空行 2.若在不产生新段落的情况下换行,则使用<br/>标签 例如: <html><body><p>你好<br/>世界<br/>我<br/>来了<br/>!!!!!....</p></body></html> 结果

Week7(10月21日)

Part I:提问  =========================== 1.请为下图编写视图代码,视图中表单提交后,交给当前控制器和动作处理.

2014年10月21日------数组,集合

//赋给三个人分数 Console.WriteLine("输入人数"); int n = int.Parse(Console.ReadLine()); double[,] shuzu = new double[n, 3]; for (int i = 0; i < n; i++) { Console.WriteLine("输入第" + (i + 1) + "个人的分数"); Console.WriteLine("输入语文成绩:&qu

10月21日 蒟蒻的流水账

11:39:12 早上的模拟赛正常多了. T1 的题目背景是想突破魔法屏障的伏地魔 Voldemort    好酷. T2 电路,这是在考物理题吗,处理起来稍微有点复杂. T3  一看就知道是树链剖分,不过不知道怎么处理那么多不同的文件,于是就只写了暴力(其实有一部分处理我还写了倍增呢,不能算全暴力吧). 等结束.. 12:08:02 成绩很意外的还不错(如果第二题没有丢掉那30分,其实可以第一名的) 不过这样也挺满意的了. 原文地址:https://www.cnblogs.com/HLAUV/

10月18日随笔

1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 #include<cstring> 5 #include<cstdio> 6 #include<queue> 7 using namespace std; 8 typedef long long LL; 9 inline int read() 10 { 11 int x=0,f=1;char c=getchar