dodox86さんが既にコメントで仰っていましたが、一応回答させていただきます。
以下、パッケージを指定しないHello Worldを表示するだけの簡単なJavaプログラムという前提で話します。
Javaプログラムの実行は、一般的には以下の流れです。
0. javac main.java でコンパイルして main.classファイルが生成される
0. java main で実行(.javaの拡張子はつけない。.classはつけないが 1.で生成されたmain.classを実行している)
0. Hello Worldが表示されます。
Java ver.11からは ソースファイルモードというのが導入されました。
0. java main.java を実行する
0. Hello Worldが表示されます。
詳しくは知りませんが、ソースファイルモードでの実行には条件がありそうです。
詳細は下記を確認、若しくは [Java ソースファイルモード]などで検索してください。
下記はver13のドキュメントですが、基本的には11でも同じかと思います。
ソース・ファイル・モードで単一ファイルのソース・コードのプログラムを起動する方法
以上を踏まえた上で、
jn6さんのコメントから想像するに、
コンパイルされた.classファイルは使わずに
Sample.javaをソースファイルモードで実行していたものと思われます。
恐らく.java拡張子は Java 11以上のjava.exeもしくはjava.exeを実行するなんらかのプログラムやスクリプトに紐づけられていたのでしょう。
下記操作でjn6さんの以前の状態を再現できました。
- エクスプローラーで.javaファイルがあるフォルダを開く
- .javaファイルを右クリックして、メニューから[プログラムを開く]-[別のプログラムを選択]
- [このファイルを開く方法を選んでください。]ウィンドウが開く
- [常にこのアプリを使って.javaファイルを開く]にチェックを入れる。
- スクロールして[その他のアプリ↓]をクリック。
- さらに一番下までスクロールし[このPCで別のアプリを探す」をクリック
- 「プログラムから開く」ウィンドウが表示されるのでver.11以上のjava.exeを選択し[開く]をクリック
- 黒いウィンドウが開きますが、すぐ閉じられます。
- コマンドプロンプトで、main.javaのあるディレクトリに移動、[main.java]とだけ入力する。
- ソース・ファイルモードでmain.javaが実行され、実行結果が表示される
※単にエクスプローラーから.javaファイルをクリックすることで、コマンドプロンプトを開いて実行結果を表示させたいのであれば、batファイルなどスクリプトを介する必要があるかと思います。
原因
今までは上記、若しくは上記に似た設定がされていた。
しかしテキストエディタアプリのインストールや、.javaファイルをテキストエディタで開いたタイミングなどで、.java拡張子に対してデフォルトで実行されるアプリの設定がテキストエディタに変更され、現在の状態になったというのが事の顛末かと思います。
個人的には.java拡張子へのこういった紐付けは好ましいとは思いませんが、必要なのであれば自己責任で上記紐付けの設定をしてください。