O que ta errado no meu codigo sobre: cria conta em um banco, visualizar conta, e operação com gerente

package aulajava;

import java.util.Scanner;

class Cliente{

String nome, endereço, emprego;

double salario_mensal;

int idade, numeroconta = 4651;



void cadastrar_cliente() {
	Scanner in = new Scanner(System.in);
	
	Cliente p1 = new Cliente();
	
	System.out.println("Digite seu nome");
	p1.nome = in.nextLine();
	
	System.out.println("Digite seu endereço");
	p1.endereço = in.nextLine();
	
	System.out.println("Digite sua idade");
	p1.idade = in.nextInt();
	
	System.out.println("Digite sua profissão(emprego) : ");
	p1.emprego = in.nextLine();
	
	System.out.println("Informe seu Salário Mensal : ");
	p1.salario_mensal = in.nextDouble();
	
	System.out.println("Numero de conta : ");
	p1.numeroconta = in.nextInt();
	

	
	class Testacliente{
		
		
		private static final int salario_mensal = 0;
		
		private int limite;

		void testacliente1(double salario_mensal) {
		
			if(this.salario_mensal >= 1200 && this.salario_mensal <= 2450) {
				this.limite = 2450;
				System.out.println("Cliente Normal");
			
			}else if(this.salario_mensal >= 2455 && this.salario_mensal <= 3500){
					this.limite = 3500;
				System.out.println("Cliente Master");
				
				
			}else if(this.salario_mensal >= 3500){
                                
				System.out.println("Cliente Vip"+this.limite);
			
			
		}
		
	}
	
}

	class Conta{
		
		double saque, deposito, saldo_conta, limite;
		private double salario_mensal;
		
		
		void salconta() {
			
			this.saldo_conta = this.salario_mensal; 
			
		}
		
		void fazer_saque() {
			this.saldo_conta -= this.saque; 
		}
		
		void fazer_deposito() {
			this.saldo_conta += this.deposito;
		}
		
		void visullimite(double limite) {

			System.out.println("limite é"+this.saldo_conta);
			
			
		}
		
		
		class gerente{
			
			private double saldo_conta;
			private int limite;
			double atribui;
			private String nome,emprego,endereço;
                            private double salario_mensal;
                            private int idade,  numeroconta;
                   
                    
			
			void visul_saldo(){
				
		System.out.println("Saldo do cliente é"+this.saldo_conta);
			
		}
			
			void atri_contacli() {
				
				this.atribui = this.limite;
				
			}
		
			void imprimir() {
				
                        System.out.println("Nome: "+this.nome);
                        System.out.println("emprego: "+this.emprego);
                        System.out.println("endereço:"+this.endereço);
                        System.out.println("Salário ao mês"+this.salario_mensal);    
                        System.out.println("Idade:"+this.idade);
                        System.out.println("Numero da conta:"+this.numeroconta);
                                   
				

					
					
			}
			
	}
	
            public class cliente1{
                public static void main(String[]args){
                    Scanner in = new Scanner(System.in);
                    
                Cliente chama = new Cliente();
                
                chama.cadastrar_cliente();
                chama.testacliente1(chama.salario_mensal);
                chama.salconta();
                chama.fazer_saque();
                chama.fazer_deposito();
                chama.visullimite();
                chama.atri_contacli();
                chama.imprimir();        
                }
                    }
                    
        }
	
}


}

Me diga você o que está errado. Não temos bola de cristal, como vamos adivinhar o erro? Espera que analisemos o código inteiro pra pensar em possíveis erros, sendo que se você nos falar fica mais rápido te dar um feedback?

Por Deus…