局部内部类为什么只能访问final局部变量,对于成员变量却可以随便访问? public class OuterClass { private int memberField = 10; public void outerDo(){ final int localField = fromOther(); class InnerClass{ public void innerDo(){ memberField = localField; } }; } private int fromOther()
在Java继承下,多态特性下类成员访问情况 /* 在继承中,变量时静态的绑定的,非静态方法是动态的绑定的,静态方法是静态绑定的 */ class Parent{ int number = 11; public void show(){ System.out.println(number); } public static void test(){ System.out.println("Parent::test"); } } class Child extends Parent{ in
全局变量和全局函数是相对局部变量和局部函数而言的,不在{}或者for, if 等范围内的都是全局变量或者全局函数,最简单的是在同一个文件中去声明. 例如在mian.cpp中 #include <iostream> int gResult; int gAdd(int a, int b) { return a + b; } int main(int argc, const char * argv[]) { gResult = aAdd(2, 3); } 这样的话main函数上面的都是都是全局变量和
关于js的变量,开始的时候我们都会被告知,变量声明应该在引用该变量之前.关于为什么要这样做呢,开始的时候本着会用就行的目的,也没去深究.不过后来经常会发现一些让人很费解的..姑且称为现象吧.先看一段代码再说: function a(){ alert(a); var a = 'b' } a();//undefined 此时就会发现不遵守规则的下场了,结果不是你想要的..当然我们不能说只知道要怎么写就行了.要知其然也要知其所以然,究其原因,就涉及到两个概念js作用域和词法分析了. 都知道js中不存在