Descargar
Desarrollar
Cuenta
Descargar
Desarrollar
Entrar
Forgot Account/Password
Crear Cuenta
Idioma
Ayuda
Idioma
Ayuda
×
Entrar
Nombre de usuario
Contraseña
×
Forgot Account/Password
Translation Status of Español
Categoría:
Software
Gente
PersonalForge
Magazine
Wiki
Buscar
OSDN
>
Buscar Software
>
System
>
Emulators
>
iModoki
>
Ticket List/Search
>
Incidencia #531
iModoki
Descripción
Project Summary
Developer Dashboard
Página Web
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
Historial
Descargas
List of Releases
Stats
Código Fuente
Code Repository list
CVS
Ver Repositorio
Incidencia
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
Foros
List of Forums
オープンディスカッション (9)
開発フォーラム (1)
Mailing Lists
list of ML
Noticias
Incidencia #531
Ticket List
Submit New Ticket
RSS
インターフェースによる暗黙の abstract
Abrir Fecha:
2002-08-31 13:07
Última actualización:
2002-08-31 13:07
monitor
ON
OFF
Informador:
ymakise
Propietario:
(Ninguno)
Tipo:
Bugs
Estado:
Open
Componente:
(Ninguno)
Hito:
(Ninguno)
Prioridad:
3
Gravedad:
5 - Medium
Resolución:
Ninguno
Fichero:
Ninguno
Details
Responder
public interface Interface {
public String hello();
}
public abstract class Super implements Interface {
public void sayHello() {
String msg = hello();
System.out.println(msg);
}
}
public class Test extends Super {
public String hello() {
return "hello, world";
}
public static void main(String[] args) {
new Test().sayHello();
}
}
というようなアプリケーションがあったとして、
ふつうに処理すると、Interface#hello() は参照されていな
いからという理由で削られてしまうが、
そうすると Super#sayHello() から呼ばれている hello()
(バイトコード上では invokevirtual test1/Super/hello()
になっている)は解決できなくなり、Super.class は不正な
クラスファイルになってしまう。
対処のし方は、Interface が結果の jar に含まれるものか、
そうでないものかによって変わってくる(はず)。
Ticket History (0/0 Histories)
Attachment File List (
0
)
Attachment File List
No attachments
Editar
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Entrar
Add Comment
Vista previa
Submit
public String hello();
}
public abstract class Super implements Interface {
public void sayHello() {
String msg = hello();
System.out.println(msg);
}
}
public class Test extends Super {
public String hello() {
return "hello, world";
}
public static void main(String[] args) {
new Test().sayHello();
}
}
というようなアプリケーションがあったとして、
ふつうに処理すると、Interface#hello() は参照されていな
いからという理由で削られてしまうが、
そうすると Super#sayHello() から呼ばれている hello()
(バイトコード上では invokevirtual test1/Super/hello()
になっている)は解決できなくなり、Super.class は不正な
クラスファイルになってしまう。
対処のし方は、Interface が結果の jar に含まれるものか、
そうでないものかによって変わってくる(はず)。