2015-10-04 2 views
1

Можно ли повторно использовать зарезервированное имя Java «Исключение», чтобы определить свой собственный класс с тем же именем «Исключение», но в пакете?Java: создать собственный класс класса исключений. Исключение

Ниже, очевидно, не будет составлять:

package mypackage; 
public class Exception extends Exception { ... 
+0

Если он не будет компилироваться, разве вы не ответили на свой вопрос в данный момент? – MetroidFan2002

+0

@ MetroidFan2002 нет шанса, что какой-то трюк существует, что я, возможно, не знаю? –

+0

как ответ ниже, например ... :) –

ответ

4

Да, вы можете сделать это, но вы должны полностью квалифицировать оригинал, хотя:

class Exception extends java.lang.Exception 

Это не очень хорошая идея для повторного использования имена таких базовых классов, как это.

+0

хороший! Спасибо. не могли бы вы прокомментировать, почему это не хорошая идея? –

+0

Это не очень хорошая идея, потому что практически каждый другой программист будет думать, что Exception означает java.lang.Exception и будет путать, почему их код не будет компилироваться, так как они не импортировали ваш конкретный тип исключения. Кроме того, имя не дает вам никакого контекста, почему вы выбрали этот подтип Exception. – MetroidFan2002

+0

@OlegShirokikh Другие люди, читающие ваш код, ожидают, что «Исключение» означает что-то другое. Также очень неприятно писать «java.lang.Exception» повсюду. –

Смежные вопросы