Dadas as seguintes afirmações referentes à linguagem de programação Java, assinale a opção que contenha as afirmações CORRETAS:
I) A palavra reservada extends é utilizada apenas na declaração de uma classe, permitindo que esta seja especificada como subclasse (extensão) de uma superclasse.
II) A palavra reservada static é utilizada apenas na declaração de métodos. Métodos estáticos são métodos de classe e não precisam de objetos instanciados para serem acessados.
III) A visibilidade dos membros de uma classe é definida através das seguintes palavras chave: private, protected, friendly e public. Membros privados são acessíveis apenas dentro da classe. Membros protegidos são acessíveis pela própria classe e pelas subclasses. Membros amigáveis são acessíveis dentro da própria classe e por todas as classes do mesmo pacote. Membros públicos são acessíveis a partir de qualquer lugar.
IV) A palavra reservada abstract é utilizada na declaração de classes e métodos. Um método indicado como abstrato não possui implementação, apenas declaração. Uma classe que possui pelo menos um método abstrato é declarada como abstrata.