Top level的java类得修饰符只能是public,abstract&final,或者default。但是内部类就可以作为field了,所有什么protected和private都能用.