相关疑难解决方法(0)

变量,对象和引用之间有什么区别?

变量,对象和引用之间究竟有什么区别?

例如:它们都指向某种类型,并且它们都必须保存值(当然除非您具有临时的无效类型),但它们的功能和实现究竟如何彼此不同?

例:

Dog myDog = new Dog(); //variable myDog that holds a reference to object Dog
int x = 12; //variable x that hold a value of 12
Run Code Online (Sandbox Code Playgroud)

它们有相同的概念,但它们有何不同?

c# java variables reference object

69
推荐指数
4
解决办法
3万
查看次数

多态是否适用于Java中的类属性?

我知道当使用父类引用来引用子类对象时,OOP中多态性的常见用法是这样的:

Animal animal = new Animal();
Animal dog = new Dog();
Run Code Online (Sandbox Code Playgroud)

我知道多态性适用于类方法,但它是否也适用于类属性?我尝试用这个小例子来测试它:

public class Main{

    public static void main(String args[]){
        Animal animal = new Animal();
        Animal dog1 = new Dog();
        Dog dog2 = new Dog();

        System.out.println("Animal object name: " + animal.name);
        System.out.println("Dog1 object name: "+dog1.name);
        System.out.println("Dog2 object name: " + dog2.name);

        animal.print();
        dog1.print();
        dog2.print();
    }

}
class Animal{
    String name = "Animal";
    public void print(){
        System.out.println("I am an: "+name);
    }
}
class Dog extends Animal{
    String name = "Dog";
    public …
Run Code Online (Sandbox Code Playgroud)

java polymorphism

12
推荐指数
4
解决办法
3049
查看次数

Java如何在向上转换时处理字段?

可能重复:
阴影的概念

我很困惑在向上转换期间如何在Java中处理类的字段.例如:

class SuperClass
{
    String myString = "String in SuperClass";

    public void myMethod()
    {
        System.out.println("Method in SuperClass");
    }
}

class SubClass extends SuperClass
{
    String myString = "String in SubClass";

    public void myMethod()
    {
        System.out.println("Method in SubClass");
    }
}

class Question
{
    public static void main(String[] args)
    {
        SuperClass test = new SubClass();
            // object test is an instance of SubClass
            // but I am telling the compiler to treat it as SuperClass

        test.myMethod();
        System.out.println(test.myString);

    }
}
Run Code Online (Sandbox Code Playgroud)

输出: …

java

6
推荐指数
2
解决办法
1656
查看次数

标签 统计

java ×3

c# ×1

object ×1

polymorphism ×1

reference ×1

variables ×1