esimerkiksi:
--------------------------------------
package my.common.all.utils;
public interface INotifyEvent {
public void HandleNotifyEvent(Object Self);
}
--------------------------------------
Kysymys:
pitääkö myös interface:t (samoin kuin luokat) laittaa jokainen omaan tiedostoonsa?
Vai voiko jotenkin yhdistää samaan packageen kuuluvat interface:t samaan lähdekooditiedostoon?
--------------------------------------
package my.common.all.utils;
public interface INotifyEvent {
public void HandleNotifyEvent(Object Self);
}
--------------------------------------
Kysymys:
pitääkö myös interface:t (samoin kuin luokat) laittaa jokainen omaan tiedostoonsa?
Vai voiko jotenkin yhdistää samaan packageen kuuluvat interface:t samaan lähdekooditiedostoon?
Vastaukset 1
Vanhimmat
Kyllä ne pitää omiin tiedostoihin laittaa. Samassa tiedostossa voi olla useampi luokka/rajapinta määriteltynä, mutta näistä vain yksi voi olla public ja sen tulee olla samanniminen kuin tiedostonnimi.
eli jos on tiedosto Rajapinta.java, jonka sisältö on:
public interface Rajapinta {
}
interface Apurajapinta {
}
Tämä kääntyy kiltisti. Mutta jos määrittelet myös Apurajapinnan public:ksi, kääntäjä ilmoittaa:
"class Apurajapinta is public, should be declared in a file named Apurajapinta.java".
Kaikkein helpointa on laittaa jokainen luokka/rajapinta suoraan omiin lähdekooditiedostoonsa.