how do i solve it? it is a maze game and the error is stating unexpected 'public'.

using UnityEngine;
using System.Collections;

public class MoveMaze : MonoBehaviour {

public Transform ballObj;
// Use this for initialization
void Start () {
	
	public Rigidbody2D myScriptsRigidbody2D;

}

// Update is called once per frame
void Update () {
	if (Input.GetKey ("w")) 
	{
		myScriptsRigidbody2D = GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, -3);
		ballObj.transform.eulerAngles = new Vector3 (0, 0, 0);
	}

	else
		
	if (Input.GetKey ("s")) 
	{
		myScriptsRigidbody2D = Getcomponent<Rigidbody2D> ().velocity = new Vector2 (0, 3);
		ballObj.transform.eulerAngles = new Vector3 (0, 0, 180);
	}
	
	else
			
	if (Input.GetKey ("a")) 
	{
		myScriptsRigidbody2D = Getcomponent<Rigidbody2D> ().velocity = new Vector2 (3, 0);
		ballObj.transform.eulerAngles = new Vector3 (0, 0, 90);
	}
	else

	if (Input.GetKey ("d")) 
	{
		myScriptsRigidbody2D = Getcomponent<Rigidbody2D> ().velocity = new Vector2 (-3, 0);
		ballObj.transform.eulerAngles = new Vector3 (0, 0, -90);
	}

	else
	 
	{
		myScriptsRigidbody2D = Getcomponent<Rigidbody2D> ().velocity = new Vector2 (0, 0);
	}
} 

}

void Start () {
public Rigidbody2D myScriptsRigidbody2D;
}

Inside a method it’s a local variable, so it can’t be public. Move it outside the method where the other variable public Transform ballObj; already is.