我想将一个类变量传递给另一个类,并使其成为该类的类变量。在以下情况下我该怎么做?
public class GLCamTest extends Activity {
public float array[] = something;
}
class GLLayer extends GLSurfaceView implements SurfaceHolder.Callback,
Camera.PreviewCallback, Renderer {
//Get class variable here
}
很难理解您正在问的问题,但这是一个可能的答案:
使B类成为A的子类:
public class A {
// Declaration of the 'array' attribute
public float[] array = new float[]{1.1f, 2.2f, 3.3f};
}
class B extends A {
// Every instance of 'B' also has an 'array' attribute
}
如果array
重新声明为public static
,则会出现一种情况,其中存在一个array
可以称为A.array
或的属性B.array
。(或在任一A
或B
刚刚array
…甚至作为a.array
或b.array
地方a
,并b
有类型A
和B
分别。)
如果您无法在A
和B
(或A
,B
以及一些包含声明的第三类)之间创建直接或子类型关系,那么您很不走运。他们无法共享声明。
但是,您可以使用静态导入来使声明看起来像是共享的。例如:
public class A {
// Declaration of the 'array' attribute
public float[] array = new float[]{1.1f, 2.2f, 3.3f};
}
import static A.array;
class B {
// now I can use 'array' without qualifying it with 'A'
}
顺便说一句,使用static
变量共享状态(尤其是表示为裸数组的状态)通常是一个坏主意。这显然是非面向对象的。
我是一个非程序员,有非常少的代码接触,但我想修改一个现有的代码库。我大大简化了下面的代码。请让我知道,如果我可以提供任何进一步的信息或如果这是没有意义的所有!Vocab很难。:) ClassD:
问题内容: 我刚开始使用快速语言,并且知道这个问题是重复的。我发现了几个类似的问题和答案,但我无法弄清这个问题。 我想将ScandString变量的值从ScanViewController传递给ResultViewController。 ScanViewcontroller如下: ResultViewController如下: println(detectedString)没有给我任何结果。问题是
我有这样的代码。 @RequestMapping(Value=“/Persons”,Method=RequestMethod.Post)public@ResponseBody String addUser(@RequestParam String name){ 谢谢...
我是selenium初学者,只是想把webDriver传递给另一个类,但没有成功。程序应该打开浏览器(“Google”)并在主类中键入一些单词,在第二个类中应该按下“Google”按钮。 以下是我的主要课程: 这是我想从主驱动程序中使用的类。 当我运行它时,它对我说: 传递:main失败:printOnScreen java.lang.NullPointerException 我做错了什么?谢谢高
问题内容: 我有两节课。和。 我有一个要在中使用的功能。我当时正在考虑将的引用传递给的构造函数,然后再调用该函数。 那行得通吗?有人可以给我举个例子吗? 提前致谢! 问题答案: 是的,它将起作用。这是一种不错的方法。您只需传递A类的 实例 : 然后您可以拥有:
我有一个父子关系的组件,我试图设置。我想让父级保留事务(React组件)的原始状态的知识,然后根据新事务是否小于原始金额来确定是否允许添加新事务。我不知道如何在单击调用时正确地将数据从一个组件传递到另一个组件。下面列出了我的原始组件。请发送帮助! "' "'