标签: shadowing

Java变量被遮挡的方法被覆盖的概念

我正在努力用Java了解Variables Shadowed Methods Overriden继承概念.

情况1:

class Car{
   public int gearRatio = 8;
   public String accelerate() {  return "Accelerate : Car";  }
}
class SportsCar extends Car{
   public int gearRatio = 9;
   public String accelerate() {  return  "Accelerate : SportsCar";  }
   public static void main(String[] args){
      Car c = new SportsCar();
      System.out.println( c.gearRatio+"  "+c.accelerate() );
   }
}
Run Code Online (Sandbox Code Playgroud)

输出:8加速:跑车.

案例2:

public class TestClass{
   public static void main(String args[ ] ){
      A o1 = new C( );
      B o2 = (B) o1;
      System.out.println(o1.m1( …
Run Code Online (Sandbox Code Playgroud)

java variables inheritance overriding shadowing

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

我编写了这段代码,它给出了NullPointerException

import java.awt.*;
import java.awt.event.*;

public class sample2 extends Frame
    {
    Button b[];
    public sample2()
        {
        super("trying");
        b=new Button[10];
        setLayout(new FlowLayout());
        for(int i=0;i<10;i++)
            add(b[i]);
        }
    public static void main(String args[])
        {
        sample2 obj=new sample2();
        obj.setSize(500,100);
        obj.setVisible(true);
        }
    }
Run Code Online (Sandbox Code Playgroud)

例外情况如下

Exception in thread "main" java.lang.NullPointerException 
at java.awt.Container.addImpl(Container.java:1037) 
at java.awt.Container.add(Container.java:373) 
at sample2.<init>(sample2.java:13) 
at sample2.main(sample2.java:17) 
Run Code Online (Sandbox Code Playgroud)

java awt nullpointerexception jbutton shadowing

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

为什么两种情况下的输出不同?

为什么输出在下面的情况下是不同的,即使变量已被覆盖?

public class A {
    int a = 500;

    void get() {
        System.out.println("a is " + this.a);
    }
}

public class B extends A {
    int a = 144;
}

public class mainmethod {
    public static void main(String args[]) {
        B ob = new B();
        System.out.println("a is " + ob.a);
        ob.get();
    }
}
Run Code Online (Sandbox Code Playgroud)

java field shadowing member-hiding

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

F#中的阴影和垃圾收集

这是我第一次遇到阴影,似乎没有特定于我的问题的资源.

如果我做以下事情

let x = a list
let x = another list 
Run Code Online (Sandbox Code Playgroud)

然后x将保存第二个列表的内容.

我假设(基于我的导师所说的)第一个列表不会自动销毁,只是在范围的末尾收集垃圾.

我的问题是为什么?一旦不可变被遮蔽,为什么我们不会自动删除第一个列表?这会让我认为数据仍然可以以某种方式被访问.如果是这样,怎么样?

f# garbage-collection shadowing

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

子类中的 C++ 基类函数重载

鉴于以下...

#include <iostream>
using namespace std;

class BaseClass {
public:
    void Func(float f) {
        cout << "BaseClass:Func() called!";
    }
};

class SubClass : public BaseClass {
};

int main() {
    SubClass sub;
    sub.Func(1.1f);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这几乎和人们预期的一样运行,导致以下输出......

BaseClass:Func() 调用!

但是,如果我将以下函数添加到 SubClass ...

class SubClass : public BaseClass {
public:
    void Func(int i) {                        // accepts an int, not a float!
        cout << "SubClass::Func() called!";
    }
};
Run Code Online (Sandbox Code Playgroud)

像任何其他重载一样,如果我提供一个 int 作为我的参数,我希望 SubClass 函数被调用,如果我提供一个浮点数,我希望调用 BaseClass 函数。但是,如果我按原样运行程序(即使用浮点数),则情况并非如此......

SubClass::Func() 调用!

我提供的浮点数不是我所期望的,而是转换为整数,然后调用 SubClass 函数。似乎 SubClass 的函数有效地掩盖了 …

c++ inheritance overloading shadowing

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

如何在QML中为具有相同名称的属性分配上下文变量?

这是以下代码的结果:

第1234行,第0行,第0行,第0行

main.qml

import QtQuick 2.8 

Item {
    Reusable {
        index: 1234      // reusable with a custom index
    }   

    ListView {
        anchors { fill: parent; margins: 20; topMargin: 50 }
        model: 3

        // Reusable with an index given by the ListView
        delegate: Reusable {
            index: index // <- does not work, both 'index' point to 
                         //    the index property
        }   
    }   
}
Run Code Online (Sandbox Code Playgroud)

Reusable.qml

import QtQuick 2.8 

Text {
    property int index
    text: "Line " + index
}
Run Code Online (Sandbox Code Playgroud)

 问题描述:

ListView受让人0,1,2,等等到可变 …

shadowing qml qtquick2

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

在另请参阅文档部分中解决与内置函数的名称冲突

我有以下类,一个隐藏(或阴影)内置函数的方法.我希望文档包含一个"另请参见"部分,该部分链接到隐藏的内置函数.

classdef CatHelper
  %CATHELPER Makes implementing vertcat/horzcat easy on a custom class
  %
  %   See Also: cat

  methods (Abstract)
    obj = cat(obj, ndim, varargin);
  end
end
Run Code Online (Sandbox Code Playgroud)

不幸的是,"see also"链接只是尝试在未记录的抽象方法上提供帮助CatHelper/cat.

如何指定我希望链接转到内置 cat函数?

documentation matlab class token-name-resolution shadowing

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

错误:“在 json.py 中找不到对负载的引用”

我是python的新手。我正在学习 python 如何与 json 一起工作。在 pycharm 中编写此代码后,我在多个位置收到未解析的引用。“导入解析为其包含文件”。“在 json.py 中找不到对转储的引用”“在 json.py 中找不到对负载的引用”

导入 json 时出现此错误,调用了 load() 和 dumps() 方法。这是我学习 Python 编码的视频链接。

https://www.youtube.com/watch?v=9N6a-VLBa2I&list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU&index=44

请帮我解决这个问题。

 import json

# Decoding json string to python.

# This a python string that happens to be a valid json also.

people_string = '''
{
"people": [
{
"name": "Sumedha",
"phone":"0987654312"
"City": "Middletown"
},

{
"name": "Ankit",
"phone":"9999999999"
"City": "Middletown2"
},
{
"name": "Hemlata",
"phone":"9865656475"
"City": "Chandigarh"
}
]
}
'''

# loads method loads the string.
data …
Run Code Online (Sandbox Code Playgroud)

python python-import shadowing

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

Illegal Shadowing (Shadowing let with var)

考虑以下 JavaScript 中的阴影示例:

let a = 99;                                                                                                             
{
        var a = 10;
        let b = 11;
        const c = 200;
        console.log(a);
}
console.log(a);
Run Code Online (Sandbox Code Playgroud)

在这里,我收到以下错误:

SyntaxError: Identifier 'a' has already been declared
Run Code Online (Sandbox Code Playgroud)

但在以下情况下,没有语法错误,代码完全有效。

var a = 99;                                                                                                             
{
    let a = 10;
    let b = 11;
    const c = 200;
    console.log(a);
}
console.log(a);
Run Code Online (Sandbox Code Playgroud)

在第二种情况下var a在全局范围内声明并且let a在块范围内。但是为什么这在第一种情况下无效?在那里,let a将在单独的范围内声明,并var a应在全局范围内声明。为什么本案无效?

javascript shadowing

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

Python 中的 all(map) 和 any(map) 输出布尔值,但 IPython 中输出 true 映射对象

我使用 python 3.10.1,通过 ipython (7.31.0,调用相同的 python 3.10.1)交互进行探索,然后在脚本准备好后直接通过 python 进行探索。

我的代码中有一个错误,我将其简化为两者之间的以下行为差异:

[Python]

In [1]: any(map(bool, ("")))
Out[1]: <map at 0x7f7f2d6061d0>
Run Code Online (Sandbox Code Playgroud)

[CPython]

>>> any(map(bool, ("")))
False
Run Code Online (Sandbox Code Playgroud)

因为 IPython 中的输出map对象是真实的,所以当在语句中使用代码时,if两个程序将给出相反的结果。我想知道是什么导致了这种差异,是否可以采取任何措施来修复它,以及是否存在其他类似的错误(功能?)我应该注意。

python numpy ipython shadowing any

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