小编azu*_*ela的帖子

Java持有对象的超类的类型

我有两个类动物和狗.因为你可以从动物身上延伸出来.我可以毫无问题地编写这些类,但我注意到我可以像这样创建一个新的dog对象:

Dog firstDog = new Dog("rocky");
Run Code Online (Sandbox Code Playgroud)

没关系,但是当我尝试创建这样的新实例时:

Animal secondDog = new Dog("alex");
Run Code Online (Sandbox Code Playgroud)

没有任何错误,但我无法访问我在Dog类中编写的任何字段或方法,即使它们是公共的,所以如果我想在一个类型与其超类的类型相同的变量中保存一个对象,我可以到达字段和仅实现超类的方法(对于此示例名称,颜色,setColor()和toString()),并且没有任何方法可以访问在子类中实现的字段和方法.我是否正确理解当我尝试调用secondDog的toString()函数时它调用我在Dog类中编写的方法,我知道我在Dog类中重写了这个函数但是我无法达到我在Dog类中实现的其他方法.java如何处理这些?

动物类:

public class Animal {
    private String name;
    private String color;

    public Animal(String name){
        this.name=name;
    }

    public void setColor(String color){
        this.color=color;
    }

    public String toString(){
        return"Hi, my name is " + this.name + ". I'm " + this.color;
    }
}
Run Code Online (Sandbox Code Playgroud)

狗类:

public class Dog extends Animal {
    private int age;
    public Dog(String name){
        super(name);
        setColor("gray");
        this.age = 7;
    }
    public String speakDog(){
        return"wof!";
    }
    public String toString(){ …
Run Code Online (Sandbox Code Playgroud)

java inheritance

2
推荐指数
1
解决办法
283
查看次数

具有继承和接口的UML类图

我试图理解如何绘制扩展一个类并实现另一个类的程序的UML图.我已经制作了这个草图,但我不确定它是否正确.

A是class具有一些字段和方法的,B是interface具有一些方法的.最后C extending来自A和implementsB.(就像公共类C在Java中扩展A实现B)

在此输入图像描述

uml class-diagram

2
推荐指数
1
解决办法
4336
查看次数

Android 导航抽屉图标的颜色

有没有办法改变导航抽屉图标的颜色?我的意思是,即使我使用包含多种颜色的 png,应用程序中绘制的图标也只有一种颜色,并且我认为默认颜色是灰色,我可以将其设为彩色吗?

例如:

我想用于图标的 png 文件

这是我的 png 文件,我想将其用作图标,但是当我将它用作导航抽屉项目的图标时,它会像这样绘制:

在此输入图像描述

android android-drawable navigation-drawer material-design

1
推荐指数
1
解决办法
2714
查看次数