struts2 ajax 页面得不到类中的变量的值。可能是因为变量的访问权限的问题。比如:proteced
public,protected,private,static,什 么时候用,为什么要用,怎么用
每个类都创造了有自己的名字空间,指方法和变量可以知道彼此的存在,可以使用。
public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用;
变量和方法的修饰字public、protected、private:
public:任何其他类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。
protected变量和方法:
如果一个类中变量或方法有修饰字protected,同一类、同一包可以使用。不同包的类要使用,必须是该类的子类,可以存取变量或调用。
同包的类
不同包但是是子类
private不允许任何其他类存取和调用;
当子类中的变量名与父类的相同,原来的变量被遮盖。
方法的覆盖(overriding)和重载(overloading)。子孙类中定义的方法和祖先类中某个方法同名、同参数行,则祖先类中的该方法被覆盖;方法的重载是指一个对象的多态性,即多个方法用相同的名称,但参数行不同。
final:
final在方法之前,防止该方法被覆盖;
final在类之前,标是该类不能被继承;
final在变量之前,定义一个常量。
static:
在变量或方法之前,表明它们是属于类的;
静态变量在各实例间共享,如果是public静态变量,则其它类可以不通过实例化访问它们;
静态方法称为类的方法,因此不用实例化即可调用(面向过程)
一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量;一个类的方法只能访问自己的局部变量。
相关推荐
所有的文档标记都是在每一行的*后面以@开头。如果在一段话的中间出来@的标记,这个标记将会被当做普通内容而被忽略掉。 @access该标记用于指明关键字的存取权限:private、public或proteced使用范围:
其实不是这些标签自己起了什么作用,而且外部工具通过访问这些标签,然后根据不同的标签做出了相应的处理。这是注解的精髓,理解了这一点一切就变得不再那么神秘。 例如我们写代码用的IDE(例如 IntelliJ Idea),它...
proteced (保护的)用该关键字修饰的成员是受保护的,只可以被同一类及其子类的实例对象访问。无修饰符(默认的):public, private, protected 这三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成员...
proteced(保护的):用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 六、构造方法 构造方法主要有以下特点:(1)构造方法的方法名与类名相同;(2)构造方法没有返回类型(修饰符 void 也...
例如,某个抽象方法被声明为proteced,那么子类中的实现,就应该声明为protected或者public,而不能定义为private。 方法的调用方式必须匹配,即类型和所需参数数量必须一致,例如,子类定义了一个可选参数,而父类...
其规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。...这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访