Android子类和单独的Java文件

问题描述

| 我正在为android开发一个应用程序,随着时间的流逝,它可能会变得越来越大。我想做的是实现到主类子文件中进行逻辑处理。例如: 主要活动使用Surfaceview。
class Battle extends SurfaceView implements SurfaceHolder.Callback {
我想在一个名为touchActions.java的文件添加与触摸事件有关的所有逻辑。
public class touchActions extends Battle {
它似乎可以正常工作,并且在Eclipse中没有错误。但是,当我尝试在手机上运行它时,以下行出现了空指针异常。
if (_touch.checkHitBox(1)) {
宣布战斗等级后开始_touch。
public touchActions _touch;
什么是执行此操作的正确方法,否则可能导致nullpointerexception? 编辑: 这里的目标是组织代码,这样我就不会得到一个巨大的代码文件。在仍使用其他文件的同时可以进行内部类学习吗?如果您知道教程,那也很好。     

解决方法

           宣布战斗等级后开始_touch。      public touchActions _touch; 没有启动...只是声明您需要使用类似这样的东西来启动它
_touch = new touchActions();
编辑: 如果公开touchActions _touch;在战斗课上宣告你做错了一切... 应该是这样的
class Battle extends SurfaceView implements SurfaceHolder.Callback {
   public touchActions _touch;
   public Battle (){
     _touch = new touchActions(this);
     _touch.callingMethodFromTouch();
   }
}

//should not extends Battle
public class touchActions {
  Battle parent_;
  public touchActions (Battle parent){
     parent_ = parent;
  }

  .... rest of implemetation you can call parent_.methodFromBattleClass(); here
}