self关键字在编译时而非运行时确定其作用域
static关键字在运行时而非编译时确定其作用域
个人理解:
编译时就是你看到的文件代码的位置,不关心子类是否继承
运行时就是程序实际运行的时候的真实情况,如果有继承,那么就是有继承。