为什么子类这里会报错呢

img

去掉12行类前面的public修饰符就行了。
java里面有规定的,一个类文件中,只能有一个public修饰的类,所以一个类中定义多个类时,只能出现一个public类,且public类和文件名相同。
不能有两个public修饰的类也正是这个原因。public类名和文件名必须相同。
都是java基本语法。
如有帮助,望点击【本回答采纳】支持一下

语法问题,同一个文件最外层只能有一个public声明的类且与文件名一直

可以把Thread1这个类放到ThreadDemo这个类的里面,作为其内部类。