Slide utilizado no curso preparatório para a certificação OCAJP7. Nessa aula aprendemos como utilizar os escopos e os modificadores. http://www.sitedoph.com.br/preparatorio-para-a-certificacao-java-ocajp-7-aula-2/
4. public class TestesSobrecargas {
void maldade(int... x) { System.out.println("No ..."); }
void maldade(Integer x) { System.out.println("No Integer"); }
void maldade(long x) { System.out.println("No long"); }
void maldade(Long x) { System.out.println("No LONG"); }
public static void main(String[] args) {
Integer a = 4;
new TestesSobrecargas().maldade(a);
int b = 4;
new TestesSobrecargas().maldade(b);
Long c = Long.MIN_VALUE;
new TestesSobrecargas().maldade(c);
new TestesSobrecargas().maldade(a, b);
}
}
No Integer
No long
No LONG
No ...
5.
6. public class IntegerInt {
static void sacanagem(int i)
{System.out.println("int");}
static void sacanagem(Integer i)
{System.out.println("Integer");}
public static void main(String[] args) {
sacanagem(new Integer(1));
sacanagem(1);
}
}
Integer
int
7. public class IntegerInt {
//static void sacanagem(int i)
// {System.out.println("int");}
static void sacanagem(Integer i)
{System.out.println("Integer");}
public static void main(String[] args) {
sacanagem(new Integer(1));
sacanagem(1);
}
}
Integer
Integer
8. public class IntegerInt {
static void sacanagem(int i)
{System.out.println("int");}
//static void sacanagem(Integer i)
// {System.out.println("Integer");}
public static void main(String[] args) {
sacanagem(new Integer(1));
sacanagem(1);
}
}
int
int
9. public class IntegerInt {
static void sacanagem(long i)
{System.out.println(“long");}
//static void sacanagem(Integer i)
// {System.out.println("Integer");}
public static void main(String[] args) {
sacanagem(new Integer(1));
sacanagem(1);
}
}
long
long
10. public class IntegerInt {
static void sacanagem(long i)
{System.out.println("long");}
static void sacanagem(Integer i)
{System.out.println("Integer");}
public static void main(String[] args) {
sacanagem(new Integer(1));
sacanagem(1);
}
}
Integer
long
11. public class TesteVacaEFrango {
static void fazerBarulho(Animal a) {
System.out.println("Animaaaaaaal");}
static void fazerBarulho(Vaca a) {
System.out.println("Muuuuuuuuuuu");}
static void fazerBarulho(Frango a) {
System.out.println("Cocóooricóooo");}
public static void main(String[] args) {
Animal a = new Animal();
Animal b = new Vaca();
Animal c = new Frango();
Vaca d = new Vaca();
Frango e = new Frango();
fazerBarulho(a);
fazerBarulho(b);
fazerBarulho(c);
fazerBarulho(d);
fazerBarulho(e);
}
}
class Animal {}
class Vaca extends Animal {}
class Frango extends Animal {}
Animaaaaaaal
Animaaaaaaal
Animaaaaaaal
Muuuuuuuuuuu
Cocóooricóooo
12. public class Vararg {
static void sinistrao(long... vararg) {
for (long l : vararg) {
System.out.print(l + ",");
}
}
public static void main(String[] args) {
int i = 1;
sinistrao(i, 2L, new Integer(3), new Long(4));
}
}
1, 2, 3, 4,
13. public class Vararg {
static void sinistrao(double... vararg) {
for (double l : vararg) {
System.out.print(l + ",");
}
}
public static void main(String[] args) {
int i = 1;
sinistrao(i, 2L, new Integer(3), new Long(4));
}
}
1.0,2.0,3.0,4.0,
14. public class Vararg {
static void sinistrao(int... vararg) {
for (int l : vararg) {
System.out.print(l + ",");
}
}
public static void main(String[] args) {
int i = 1;
sinistrao(i, 2L, new Integer(3), new Long(4));
}
}
Error:(12, 33) java: method sinistrao in class ph.sitedo.certificacao.sobrecargas.Vararg
cannot be applied to given types;
required: int[]
found: long,long,java.lang.Integer,java.lang.Long
reason: argument type long does not conform to vararg element type int
15. public class Vararg {
static void sinistrao(Long... vararg) {
for (Long l : vararg) {
System.out.print(l + ",");
}
}
public static void main(String[] args) {
int i = 1;
sinistrao(i, 2L, new Integer(3), new Long(4));
}
}
Error:(12, 33) java: method sinistrao in class ph.sitedo.certificacao.sobrecargas.Vararg cannot be applied to
given types;
required: java.lang.Long[]
found: long,long,java.lang.Integer,java.lang.Long
reason: argument type java.lang.Integer does not conform to vararg element type java.lang.Long
16. public class Autoboxing {
int a = new Integer(1);
Integer b = 2;
Long c = 3L;
long d = new Long(4);
Long e = new Integer(5);
}
Error:(10, 26) java: incompatible types
required: java.lang.Long
found: java.lang.Integer