Reutilizar uma matriz sem precisa-la passar por referencia

Estou criando um ecossistema de mapa 16x16 (utilizei uma matriz 16x16), e preciso fazer com que os atores se movimentem no mapa. Há alguma maneira de como eu utilizar o mapa em todas as classes sem precisar criar um objeto dele e utiliza-lo em todas as demais classes? Tentei utilizar o método Abstract porem não consegui.

Classe geradora do mapa

package com.ecosistema;

public class Mapa {

private String m[][] = new String[17][17];

public Mapa() {

	for(int l = 0; l < 17; l++) {
		
		for(int c = 0; c < 17; c++) {
			if(c == 0 || c == 16 || l == 0 || l == 16) {
				m[l][c] = "x";
			}else {
				m[l][c] = " ";
			}
		}
	}
}

public void printMapa(){
	for(int k =0; k < 17; k++) {
		System.out.print("\t");
		for(int d = 0; d < 17; d++) {
			System.out.print(m[k][d] + " ");
		}
		System.out.println("  ");
	}
	
}

public String[][] getM() {
	return m;
}

public void setM(String[][] m) {
	this.m = m;
}

}

Classe geradora de ator

package com.ecosistema;

public class Ator extends Mapa{

private String nome;
private int energia;

public Ator(String nome, String m[][]) {
	this.nome = nome;
	energia = 100; 
	m[6][7] = "A";
}

public void Locomover(Ator a1, String m[][]) {

}

public void Alimentar() {
	
}

}

Classe principal

package com.ecosistema;

public class Main {

public static void main(String[] args) {
	
	//GERANDO MAPA
	Mapa m1 = new Mapa();
	
	System.out.println("\t\t~~MAPA GERADO~~");
	m1.printMapa();
	
	//CRIANDO UM ATOR
	Ator a1 = new Ator("Jose", m1.getM());
	System.out.println("\n\t\t~~PRIMEIRO ATOR~~");
	m1.printMapa();
	
}

}