关于java的一些初级问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 19:11:39
初学JAVA,对其中的某些问题不是很了解,特来询问各位大侠。
如果对于同一个类,有几个实例化的对象,静态成员在内存中占用同一个空间,非静态成员所占空间不同(各个对象单独占用空间),类中的方法也是占用相同的空间,调用时根据不同的实例对象而不同,是这样的吗?
还有类的访问修饰符是不是只有public和缺省两种情况,如果是缺省情况下,其他类能访问吗?
类的成员变量和方法的修饰符是不是有public,protected,private,缺省,对于同类、同包中的类、同包中的子类,不同包的子类,不同包的其他类各种情况下的访问控制是怎样的?(麻烦详细点,如果答案优秀,可以追加分的)

1 类中的方法也是占用相同的空间,调用时根据不同的实例对象而不同,是这样的吗?

是这样的,和成员变量不同,同一个方法对于相同类不同的对象来说是一样的,使用时调用就行,没有必要每个对象存一个备份。

2 还有类的访问修饰符是不是只有public和缺省两种情况,如果是缺省情况下,其他类能访问吗?

是的。缺省情况下,只有在相同包的类可以访问。

3成员和方法,权限逐渐增大
private:只能自身访问
缺省:自身,相同的包
protected:自身,相同包,子类
public:所有类都可以访问