gpt4 book ai didi

java - 从另一个类访问时,Getter 函数不返回值

转载 作者:行者123 更新时间:2023-12-02 07:33:18 25 4
gpt4 key购买 nike

我有一个类(class)如下:

public class Element extends Activity
{
public float mX;
public float mY;
public void animate(long elapsedTime)
{
mX += mSpeedX * (elapsedTime / 20f);
mY += mSpeedY * (elapsedTime / 20f);
setmX(mX);
setmY(mY);
checkBorders();
}
public void setmX(float mX)
{
Log.i("this.mX","mY at setmX read is :"+this.mX ); **//Line 1**
this.mX = mX;
}
public float getmX() {
Log.i("mX","mX in getmX read is :"+mX ); **//Line 2**
return mX;
}

public void setmY(float mY) {

this.mY = mY;
Log.i("this.mY","mY at setmY read is :"+this.mY ); **//Line 3**
}

public float getmY() {
Log.i("mY","mY in getY read is :"+mY ); **//Line 4**

return mY;
}
}

我还有一个类

public class Panel extends SurfaceView implements SurfaceHolder.Callback
{
int x = 100;
int y = 0;
public float xval;
public float yval;
@Override
public boolean onTouchEvent(MotionEvent event)
{
Element element = new Element();
float x = event.getX();
float y = event.getY();
Log.i("x","x in panel is :"+x);
//toast tos = new toast();

xval = element.getmX();
Log.i("xval","xval in playactivity obtained is :"+xval ); **//Line 5**
yval = element.getmY();
Log.i("yval","yval in playactivity obtained is :"+xval ); **//Line 6**
return super.onTouchEvent(event);
}

第 2、4、5 和 6 行显示的值为零。我不想这么做。下面是 logcat 图像。 enter image description here

我在访问说明符中犯了错误吗?

最佳答案

  • 您不应在另一个类中创建 Activity 类(在您的 Element 类中)的对象。请浏览Application fundamentals
  • 虽然您在 Panel 类中创建 Element 类的对象,但您从未调用 setter 方法 setmX() 和 setmY() 来设置值。您直接调用 getter 方法,它会返回默认值。

关于java - 从另一个类访问时,Getter 函数不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12648963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com