YOur code should work fine. I don't know why you are getting error. But anyway,
You can initialize tile1, tile2 and tile3 and then you can add them to Array.
tile1 = new Texture(Gdx.files.internal("grass.png"));
tile2 = new Texture(Gdx.files.internal("dirttile.png"));
tile3 = new Texture(Gdx.files.internal("watertile.png"));
Here is how you will initialize Array:
Texture[] tile = {tile1, tile2, tile3};