1.为什么interface里面的变量要用final修饰
interface本来就是用来定义标准的,如果里面的变量能过随便改变,那么这个标准就没有意义了。
2.为什么子类重写父类的方法,子类的访问权限不能缩小
父类都让人访问,儿子不能的话就违反了继承的意义;而且运行时多态会毫无意义;
3.成员内部类里面为什么不能有静态的东西
静态修饰的东西在内部类加载前面,但是内部类是要依靠外部类的,所以里面如果有静态的东西,执行顺序会打乱,违反规则。
4.为什么局部内部类访问方法体中的变量(局部变量),这个变量要用final修饰;
生命周期 的问题 ,当你内部类还在继续访问局部变量时可能方法已经结束了,这样不符合逻辑,用final修饰可以保证局部变量的复制品和原值相同,不会有区别。
interface本来就是用来定义标准的,如果里面的变量能过随便改变,那么这个标准就没有意义了。
2.为什么子类重写父类的方法,子类的访问权限不能缩小
父类都让人访问,儿子不能的话就违反了继承的意义;而且运行时多态会毫无意义;
3.成员内部类里面为什么不能有静态的东西
静态修饰的东西在内部类加载前面,但是内部类是要依靠外部类的,所以里面如果有静态的东西,执行顺序会打乱,违反规则。
4.为什么局部内部类访问方法体中的变量(局部变量),这个变量要用final修饰;
生命周期 的问题 ,当你内部类还在继续访问局部变量时可能方法已经结束了,这样不符合逻辑,用final修饰可以保证局部变量的复制品和原值相同,不会有区别。