Skip to content

  • Home
  • Blog
  • Projetos
  • Contato

[Java] Utilizando a técnica de Shadowing

novembro 16, 2018 by jhonatan2760

Uma dúvida muito recorrente entre programadores iniciantes, é sobre a ambiguidade entre
as variáveis e atributos dentro de uma classe, principalmente quando estão encapsulando
os atributos, fazendo um curso na Alura (que inclusive recomendo fortemente), descobri
sobre a técnica de shadowing, veja:

 Para resolver problemas de ambiguidade entre variáveis dentro do mesmo escopo
utilizamos a técnica de shadowing, podemos referenciar pela própria classe; para variáveis de instância, usamos a palavra chave this

class Pessoa {

static int x = 0;
int y = 0;

public static void setX(int x) {
// Usando a referência da classe
Pessoa.x = x;
}

public void setY(int y) {
// usando o this
this.y = y;
}
}

Quando não usamos o this ou o nome da classe para usar a variável, o compilador sempre utilizará a variável de menor escopo.

class X {
int a = 10;

public void metodo() {
int a = 20; // shadowing
System.out.println(a); // imprime 20
}
}
Post Views: 2.010

Post navigation

Previous Post:

[English][Javascript]Using like a Java contains in Javascript

Next Post:

Many To Many de uma maneira simples no JPA

Posts recentes

  • Como explorar seu novo componente no Arduino
  • CORS em uma aplicação Angular 10 e Spring Security
  • Como gerar um certificado SSL grátis para sua aplicação em Spring
  • Arduino vs Dinossauro do Google Chrome
  • Comprei uma impressora 3D

Arquivos

  • abril 2022
  • novembro 2021
  • dezembro 2020
  • junho 2020
  • maio 2020
  • março 2020
  • dezembro 2019
  • novembro 2019
  • agosto 2019
  • junho 2019
  • março 2019
  • novembro 2018
  • agosto 2018
  • julho 2018
  • março 2018
  • fevereiro 2018
  • janeiro 2018
  • dezembro 2017
  • novembro 2017
  • outubro 2017
  • agosto 2017
  • abril 2017
  • novembro 2016
  • junho 2015
  • fevereiro 2015
  • janeiro 2015
  • novembro 2014
  • setembro 2014
  • agosto 2014
  • julho 2014
  • junho 2014
  • maio 2014
  • abril 2014
  • março 2014
  • fevereiro 2014
  • janeiro 2014
  • dezembro 2013
  • novembro 2013
  • outubro 2013

Categorias

  • 3D printter
  • ALREADY
  • Ame Digital
  • ANGULAR 4+ ROLE BASED
  • ANGULAR 5
  • ANGULAR ROLE BASED
  • Arduino
  • Consulta Operadora
  • Cors
  • Crawler
  • Data Science
  • DIRECTIVE ANGULAR
  • español
  • HTTPS
  • Impressora 3D
  • iOS
  • iOT
  • JAVA
  • JERSEY
  • Jsoup
  • Meetup
  • Pandas
  • Python
  • R
  • REQUEST JERSEY
  • scraping
  • SECURITY CONTEXT
  • Sem categoria
  • Spanish
  • Spring
  • Spring Security
  • Spring Webflux
  • Swift
  • Talkings
  • Technology
  • Uncategorized
  • Webflux
2021 - Jhonatan S. Souza