会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132903个问题

老师,多态的三个必要条件:继承,重写,父类引用执行子类对象。既然可以直接使用子类新建的对象调用重写的 方法,为何需要使用父类引用指向子类对象调用重写方法呢?而且父类引用指向子类对象还存在无法调用子类独有方法的缺陷。

// 测试多态和对象类型转换
public class TestPoly {

    static void animalCry(Animal a){
        a.shout();
    }

    public static void main(String[] args) {

        // 同一类中,static 方法可以调用其他 static 方法
        animalCry(new Cat());   // 以 Cat 对象调用 animalCry 方法

        Animal a1 = new Dog();
        /*注意,向上转型时,子类单独定义的方法会丢失,因此 a1 无法访问到 Dog 中的 seeDoor 方法。对于 Cat 类同理。*/
        a1.shout();
        animalCry(a1);   // a1 是编译时类型,Dog 才是运行时类型。

        

        Animal a01 = new Animal();
        a01.shout();

        Dog d01 = new Dog();
        d01.shout();
        d01.seeDoor();

        Cat c01= new Cat();
        c01.shout();
        c01.catchMouse();

    }
}


class Animal {
    public void shout(){
        System.out.println("动物叫了一声!");
    }
}

class Dog extends Animal {

    // 重写父类方法
    public void shout() {
        System.out.println("狗子汪汪汪!");
    }

    public void seeDoor() {
        System.out.println("乖乖看门");
    }
}

class Cat extends Animal {

    public void shout(){
        System.out.println("猫咪喵喵喵!");
    }

    public void catchMouse() {
        System.out.println("猫抓耗子");
    }

}


JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 17147楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 17148楼
JAVA 全系列/第六阶段:项目管理与SSM框架/SpringMVC 17149楼
Python 全系列/第六阶段:生产环境部署与协同开发/Git 17151楼

https://github.com/graphql-python/graphene

image.png

lao老师,网站上不了?是不是挂了??

Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/GraphQL 17152楼
Python 全系列/第二阶段:Python 深入与提高/坦克大战 17153楼
Python 全系列/第五阶段:数据库编程/mysql介绍与环境安装 17154楼
JAVA 全系列/第五阶段:JavaWeb开发/Web实战案例 17155楼
WEB前端全系列/第二阶段:JavaScript编程模块/字符串与数组 17156楼
WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 17158楼

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .items{
            height: 450px;
            padding: 10px;
            background-color: bisque;
            box-sizing: border-box;
            float: left;
        }
        .items>div{
            width: 100%;
            height: 100%;
            background-color: cadetblue;
        }
        @media screen and (max-width: 768px){
            .items{
                width: 50%;
            }
        }
        @media screen and (min-width: 768px) and (max-width: 992px) {
            .items{
                width: 33.33%;
            }
        }
        @media screen and (min-width: 768px){
            .items{
                width: 25%;
            }
        }
    </style>
</head>
<body>
<div class="box">
    <div class="items">11234564631</div>
    <div class="items">2</div>
    <div class="items"></div>
    <div class="items"></div>
    <div class="items"></div>
    <div class="items"></div>
    <div class="items"></div>
    <div class="items"></div>
    <div class="items"></div>
    <div class="items"></div>
    <div class="items"></div>
    <div class="items"></div>
</div>
</body>

image.png

老师为什么。items里的div没有变颜色呢

WEB前端全系列/第一阶段:HTML5+CSS3模块/CSS盒子模型 17159楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库 17160楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637