为什么java的非公共类的东西编译出来不显示?

刚刚开始学习java,请教一下为什么公共类正常,但是这个dog类编写的东西不显示,也没有报错?
希望帮助一下!
img

一般java语言规范都会要求一个文件只写一个class,如果一个文件写两个class,如下图:
img
javac命令编译后会对应生成2个.class文件
img
你用java命令执行的是对应的.class文件,.class文件则会执行和它同名的class类的main函数,所以只需要java B就会执行class B的main函数了

img

运行那个类的main方法