• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

Interfaces no Java 8 – static methods

January 22, 2018 by Mauda Leave a Comment

Conteúdo do Post:
  1. Métodos estáticos e com implementação, agora pode!
  2. finnaly{

Olá Pessoal, tudo bom?

O artigo de hoje é mais um complemento ao artigo escrito em junho de 2016 e a outro artigo escrito em dezembro de 2017 sobre interfaces. Esse artigo se propõe a inserir um novo aspecto que foi inserido no tipo interface no Java 8. Confira na continuação.

Métodos estáticos e com implementação, agora pode!

Se você é um desenvolvedor antes do Java 8, sabe que para criar métodos estáticos, você tinha que criar uma classe com os métodos descritos lá dentro, veja o exemplo no código abaixo:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class StringUtils {
 
    /**
     * Verifica se uma String eh vazia. Exemplos:
     * null  - true
     * ""    - true
     * "  "  - true
     * "A"   - false
     * " A " - false
     */    
    public static boolean isBlank(String str){
        if(str == null){
            return true;
        }
        if(str.isEmpty()){
            return true;
        }
        //O metodo trim() elimina espaços na frente e atrás da String
        if(str.trim().isEmpty()){
            return true;
        }
        return false;
    }
}

Um ponto importante aqui é que se você desejasse que a classe não fosse possível de ser instanciada, você deveria criar esta como abstrata.

Para utilizar esse método, bastaria você chamar a classe pelo nome mais o método desejado, sem precisar instanciá-la:

Java
1
2
3
4
5
6
7
8
9
10
11
public class LoginBusiness implements AcessoSistema {
 
    //Algum código aqui
    
    public boolean verificaUsuario(String usuario){
        return !StringUtils.isBlank(usuario);
    }
    
    //Algum código aqui
    
}

 

Com o advento do Java 8 foi criado os static methods também para as interfaces. Agora ao invés de criar uma classe abstrata você pode utilizar a interface, que pode padrão, não pode ser instanciada no Java.

Vamos agora transformar a classe StringUtils em uma interface StringUtils:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public interface StringUtils {
 
    /**
     * Verifica se uma String eh vazia. Exemplos:
     * null  - true
     * ""    - true
     * "  "  - true
     * "A"   - false
     * " A " - false
     */    
    static boolean isBlank(String str){
        if(str == null){
            return true;
        }
        if(str.isEmpty()){
            return true;
        }
        //O metodo trim() elimina espaços na frente e atrás da String
        if(str.trim().isEmpty()){
            return true;
        }
        return false;
    }
}

Lembrando que qualquer método em uma interface por padrão é público.

A forma de utilizar o método permanece o mesmo, ou seja as classes que hoje utilizam já esse método não precisam ser modificadas.

finnaly{

Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: Java, JDK 8 Tagged With: interface, Java 8, static, static method

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2025 · Genesis Framework · WordPress · Log in