Q&A
テーマ、知りたいこと
Java Silverの問題でよく「インタフェースAを実装した(抽象)クラスBのインスタンスをA型で宣言」という場面に出くわすのですが、これにはどんな意図があるのでしょうか?
背景、状況
現在エンジニアとして1年目で、現場に出ながらJava Silverについて勉強をしています。
問題を解いていると以下の様にサブクラスのインスタンスをスーパークラス型として宣言する場面によく出くわします。
public interface A {}
public class B implements A {
public static void main (String[] args){
A a = new B();
}
}
これは処理が良いや可読性があるなど、何らかのメリットがあったり、現場レベルでも割と使うことがあるものなのでしょうか?
それとも試験ものによくある”実践的ではないが、その機能を理解しているか確認するために作られた”ものなのでしょうか?
先輩からは「Java Silverはパズル解いてるみたいなもん」とは言われたのですが、なるべく理解したい性質なので意味が無いのであればそういうものだと覚えようと思っています。
どうぞ、よろしくお願いします。
回答3件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。