我有一个主类,后跟两个子类。
如下所示
public class Guitar {
public static void main(String argd[]) {
Artist output = new Artist();
output.perfomance();
}
}
class Artist {
String Name;
void perfomance () {
}
}
class Album {
}
是否可以从Artist类调用方法性能并在没有extends关键字的Album类中使用它?
答案 0 :(得分:3)
您可以使用合成而不是继承。
如果专辑扩展艺术家,那么您建议使用相册IS-A艺术家。 但是,如果专辑有艺术家作为成员,那么专辑HAS-A艺术家。
所以一种方法可能就是
class Album {
Artist artist;
Album(Artist artist) {
this.artist = artist;
}
void playLive() {
artist.performance();
}
}
所以打电话给你可能会
public class Guitar {
public static void main(String[] args) {
Artist prince = new Artist();
Album purpleRain = new Album(prince);
purpleRain.playLive();
}
}
答案 1 :(得分:2)
方法1 :Use composition
从约束器传递Artist对象
Code = Convert.ToInt32(oneService.Field<object>("service_code"));
...
VatValue = Convert.ToInt32(oneService.Field<object>("vatvalue"));
使用设置方法
设置Artist对象class Album {
Artist artist;
Album(Artist artist) {
this.artist = artist;
}
void doSothing() {
artist.performance();
}
}
从方法
传递Artist对象class Album {
Artist artist;
void setArtist(Artist artist){
this.artist = artist;
}
void doSothing(Artist artist) {
artist.performance();
}
}
方法2 :使功能性能static
class Album {
Artist artist;
void doSothing(Artist artist) {
artist.performance();
}
}