Problema com Classes

Problema com o Netbens…
Galera to aprendendo orientação a objetos agora, fiz um programa de Conta bancária:

package test;

import java.util.Scanner;

class Test {

Scanner in = new Scanner(System.in);

String nome;
double salario,saldo = 0, numconta = 4651;
int idade;

void cadastro(){
    System.out.println("Informe seu nome");
    this.nome = in.next();
    System.out.println("Informe o seu salario");
    this.salario = in.nextDouble();
    System.out.println("Sua idade ");
    this.idade = in.nextInt();
    }
    void imprimir(){
        System.out.println("Nome:"+this.nome);
        System.out.println("Salario:"+this.salario);
        System.out.println("Idade:"+this.idade);
        System.out.println("Numero da conta:"+this.numconta);
    }

}

class Conta{

double saque, limite, saldo, deposito;

void tipoCliente(double salario){
    
    if(salario >= 1200 && salario <= 2450){
        System.out.println("Cliente Normal");
        saldo = 2450;
        limite = 3000;
    }else if(salario >= 2455 && salario <= 3500) {
        System.out.println("Cliente Master");
        saldo = 3500;
        limite = 5000;
        
    }else if(salario > 3500){
      
        System.out.println("Cliente Vip");
        saldo = 5000;
        limite = 7000;
      
    }
}
    void saque(){
        
        Scanner in = new Scanner(System.in);
        
        System.out.println("Quanto deseja sacar ?");
        this.saque = in.nextDouble();
    }
    
    void ValorSacado(double saldo){
        
        this.saldo -= this.saque;
        
    }
    void Depositos(){
        Scanner in = new Scanner(System.in);
        
        System.out.println("Quanto deseja deposita");
        this.deposito = in.nextDouble();
        
        
    }
    
    void Valordepositado(double saldo){
        this.saldo += this.deposito;
    }
    
    double SaldoTotal(){
       return this.saldo + this.limite;
    }
    
    void extrato(){
       
     double saldototal = this.SaldoTotal();
        
        System.out.println("Valor sacado"+this.saque);
        System.out.println("Valor depositado"+this.deposito);
        System.out.println("Saldo"+this.saldo);
        System.out.println("Saldo total"+saldototal);
        
        
    }

}

    public class test{
        public static void main(String[] args){
            
            Scanner in = new Scanner(System.in);
            Test c1 = new Test();
            Conta c2 = new Conta();
            
            c1.cadastro();
            
            c2.tipoCliente(c1.salario);
            c2.Depositos();
            c2.Valordepositado(c2.saldo);
            c2.saque();
            c2.ValorSacado(c2.saldo);
            
            c1.imprimir();
            c2.extrato();
            
            
        }
        
    }

porém quando vou rodar aparece essas mensagens de erro:

run:
Exception in thread “main” java.lang.NoClassDefFoundError: test/Test (wrong name: test/test)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at test.test.main(test.java:103)
C:\Users\JD INSTALAÇOES\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

outro erro comum é falando que: Nenhuma classe principal localizada…

Não encontrou a classe test/Test


 public class test{
        public static void main(String[] args){
            
            Scanner in = new Scanner(System.in);
            Test c1 = new Test();

Olha como você fez:

Nome da classe: test
Instanciando classe: Test

O java é Case Sensitive, se você quer usar: test, vai ter que ser test. Se quer usar Test, vai ter que ser Test

Entendeu?

Aff, agora que vi direito sua classe. Porquê está usando Test e test???

Coloca um nome diferente nas classes.

Usa um private class ou public class aí.