一、哪些方法不能被重写?
1、final 修饰的不能重写
2、static 修饰的不能重写
3、private 修饰的,因为私有的在子类中不可见
4、如果跨包的话,修饰符缺省的也不能被重写,因为缺省的跨包不可见
二、修饰符
1、修饰外部类
权限修饰符:public 和 缺省的
其他修饰符:final
2、方法
权限修饰符:四种
其他修饰符:final、static、native
3、成员变量
权限修饰符:四种
其他修饰符:final、static
4、代码块
修饰符:static 或 没有
三、变量
1、变量的分类
(1)成员变量
① 类变量:静态的成员变量
② 实例变量:非静态的成员变量
(2)实例变量
2、变量的区别
(1)声明的位置
成员变量:类中方法外
局部变量:
① 方法()中形参列表
② 方法体{}中局部变量
③ 代码块中局部变量
(2)在内存中存储的位置
成员变量:
① 类变量:方法区
② 实例变量:堆
局部变量:
栈:
① 虚拟机栈:非 native 方法的局部变量
② 本地方法栈:native 方法的局部变量
(3)默认值
成员变量:如果没有赋值,会有默认值
局部变量:没有默认值,必须定义,赋值,才能使用
(4)修饰符
成员变量: 四种权限修饰符;static,final
局部变量:final
(5)生命周期
成员变量:
① 类变量:随着类的加载而分配空间,随着类的卸载而消亡,每个对象都是共享的
② 实例变量:随着对象的创建而分配空间,随着对象被垃圾回收而回收,每个对象是独立的
局部变量:方法调用时,在栈中分配空间,方法调用结束就消亡
(6)作用域
成员变量:
① 类变量:在本类中可以随便使用;在其他类中,用“类名.” 或 “对象.” 使用。
② 实例变量:在本类中除了静态成员不能使用,其他都可以使用;在其他类中,用“对象.” 使用。
局部变量:有作用域,超过作用域就不能使用了