标签:
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
/** 方法的构成:
* [权限修饰符列表][别的修饰符列表] 返回值数据类型 方法名 (参数列表){
* 运行体;
* return 返回值;
* }
* *****!!!!! : 静态变量和静态方法 :
* 除了private 在本类中可以调用使用,在别的类都不行
* 除了default 在同一个包中可以,别的都不行 就是继承也不行
* 别的都能,import导类 然后可以直接类名调用了
*
* *****!!!!! : 成员变量和成员方法 :
* 除了private(私有的,外部不能直接访问的) 在本类中可以调用使用,在别的类都不行
* 除了default(默认的,没有权限修饰符的,会默认有default) 包内修饰符 在同一个包中可以,别的都不行 就是继承也不行
* 再就是protected(受保护的)继承修饰符 要么在同一个包中,用父类的引用去调用, 要么就有继承关系 前提是得用子类的对象引用去直接调用,也可以看做是继承过来了,(用子类引用去调用,没改变父类的权限,只是在子类调用的,)
* ----------------静态变量的访问权限
* public private protected default
* 当前包同一个类 可以 可以 可以 可以
*
* 当前包里面别的类 可以 不可以 可以 可以
*
* 别的包里别的类 可以 不可以 可以 不可以
*
* 自己包继承关系的类 可以 不可以 可以(V) 可以(V)
*
* 从别的包里有继承关系的类 可以 不可以 可以(V) 不可以(V)
*
* 静态变量:default跨包就不可以,private都不可以
*
*
* ----------------静态方法的访问权限
* public private protected default
* 当前包同一个类 可以 可以 可以 可以
*
* 当前包里面别的类 可以 不可以 可以 可以
*
* 别的包里别的类 可以 不可以 可以 不可以
*
* 自己包继承关系的类 可以 不可以 可以(V) 可以(V)
* 从别的包里有继承关系的类 可以 不可以 可以 不可以(V)
*
* 静态方法:default跨包就不可以,private都不可以
*
*
* PPP01 继承于Teacher,PPP01是个Teacher吗? 所以可以直接调用父类的方法,跟继承没有关系
* 继承归继承,调用归调用
* 但是PPP01中有了一个和父类相同的静态变量和静态方法,只是代表父类和子类都有一个同名的静态变量和静态方法,和继承没关系
* 父类归父类,子类的归子类
* 调用的父类调用就是调用父类的,子类调用就是调用子类的吧,各不相干
*
* 这里失效是谁:protected:可继承的访问权限,
* 包类权限仍然管用
----------------成员变量的访问权限
* public private protected default
* 当前包同一个类 可以 可以 可以 可以
*
* 当前包里面别的类 可以 不可以 可以 可以
*
* 别的包里别的类 可以 不可以 不可以 不可以
*
* 自己包继承关系的类 可以 不可以 可以(V) 可以(V)
*
* 从别的包里有继承关系的类 可以 不可以 可以(V) 不可以(V)
*
* protected:如果跨包的话,必须有继承关系才可以.自己包可以直接访问不影响
*
*
* 成员变量:default跨包就不可以,protected主要作用是别的包有继承关系就可以,自己包继承不继承都可以
* 这里有个要点:是在实例化子类变量的时候,可以访问父类的成员变量,这才是值可继承访问权限
* 如果在子类中,实例化父类的对象,这个时候,访问权限不变
*
*
* ----------------成员方法的访问权限
* public private protected default
* 当前包同一个类 可以 可以 可以 可以
*
* 当前包里面别的类 可以 不可以 可以 可以
*
* 别的包里别的类 可以 不可以 不可以 不可以
*
* 自己包继承关系的类 可以 不可以 可以(V) 可以(V)
* 从别的包里有继承关系的类 可以 不可以 可以 不可以(V)
*
* default:只要是同一个包里面,不继承也可以实例化访问到,叫包内访问权限
* protected:只要是有继承关系的子类中,我们可以通过实例化子类访问父类成员变量和成员属性
* 叫继承的访问权限(只要有继承,在不在本包都可以)
* 可继承的访问权限特指protected,是指我们实例化子类,然后通过子类去访问父类的属性,子类和父类不在一个包也可以
*
* 静态变量和静态方法,
* --1--:只要是静态的就无所谓继承或者不继承,只要能找到就能访问,除了default跨包.protected包外也能访问
*
*/
标签:
原文地址:http://www.cnblogs.com/itheimazl/p/4759276.html