O defaut seria um valor que voce setaria, caso nao entre em nenhuma outra opcao…
Ex.: Como switch pode receber várias possibilidades, pode ocorrer de algum caso estar fora do alcance ou não definido. Nesse momento, default faz seu papel. Default pega qualquer resultado que não esteja definido no case. Ou seja, ele é o bloco de código padrão que deve ser executado quando nenhum case for satisfeito. Podemos coloca-lo onde quisermos dentro de switch , mas, geralmente, o colocamos no final.
Ex. com Codigo:
public class ExemploSwitch {
public static void main(String args[]) {
int diaDaSemana = 1;
switch (diaDaSemana) {
case 1:
System.out.println("Domingo");
break;
case 2:
System.out.println("Segunda-feira");
break;
case 3:
System.out.println("Terça-feira");
break;
case 4:
System.out.println("Quarta-feira");
break;
case 5:
System.out.println("Quinta-feira");
break;
case 6:
System.out.println("Sexta-feira");
break;
case 7:
System.out.println("Sábado");
break;
default:
System.out.println("Este não é um dia válido!"); //Seria no caso de ele nao entrar em nenhuma das condicoes acima
}
}
}
Pedro, ele está falando de controle de acesso. Nesse caso o modificador default é aquele que existe, quando você não declara nenhum modificador. Por exemplo:
public class XYZ {
int x = 10; //x tem o modificador default
public int y = 20; //int é public
}
O default só é visível para classes do mesmo pacote.
Note que ele é um pouco mais restritivo do que o protected, uma vez que o protected é também visível a todas as classes do mesmo pacote e a classes filhas, independente de pacote.
O default é usado quando você precisa criar classes ou métodos auxiliares em sua biblioteca, mas que não devem ser usados pelo usuário final (nesse caso, os programadores que usam sua biblioteca).
No Java, o uso do default acaba restringido porque não existem subpacotes. No C# você tem o modificador intern, que é um default para todas as classes do mesmo binário, o que de fato seria muito mais útil (você poderia ter classes e métodos visíveis dentro apenas do .jar da sua biblioteca, por exemplo). No C++, você pode definir uma classe como “friend” de outra, deixando uma classe dar a liberdade de outra enxergar seus métodos privados, além de poder definir o que será visto dentro e fora do binário.
[quote=ViniGodoy]Pedro, ele está falando de controle de acesso. Nesse caso o modificador default é aquele que existe, quando você não declara nenhum modificador. Por exemplo:
public class XYZ {
int x = 10; //x tem o modificador default
public int y = 20; //int é public
}
O default só é visível para classes do mesmo pacote.
Note que ele é um pouco mais restritivo do que o protected, uma vez que o protected é também visível a todas as classes do mesmo pacote e a classes filhas, independente de pacote.
O default é usado quando você precisa criar classes ou métodos auxiliares em sua biblioteca, mas que não devem ser usados pelo usuário final (nesse caso, os programadores que usam sua biblioteca).
No Java, o uso do default acaba restringido porque não existem subpacotes. No C# você tem o modificador intern, que é um default para todas as classes do mesmo binário, o que de fato seria muito mais útil (você poderia ter classes e métodos visíveis dentro apenas do .jar da sua biblioteca, por exemplo). No C++, você pode definir uma classe como “friend” de outra, deixando uma classe dar a liberdade de outra enxergar seus métodos privados, além de poder definir o que será visto dentro e fora do binário.[/quote]