作者: 油炸电视剧 时间: 2015-5-16 18:28
静态方法只能继承,不能重写。作者: xingfeichen 时间: 2015-5-16 19:06
1, static关键字用法(优化内存,不占用堆内存)
a) 是一个修饰符,用于修饰成员(成员变量)
b) 被修饰的成员就不再堆内存中了,而在方法区(专门用于存放类中的方法和静态成员)
c) 静态修饰的内容被所有对象所共享
d) 当成员被静态修饰后,就多了一个调用方式,除了被对象对用外,还可以直接用类名进行调用
e) 不同对象的特有数据,必须放在对象中,不能用static修饰
f) 静态是先存在的,对象是后存在的才
2, 实例变量p"(A p=new A())"和类变量的区别
a) 存放位置
i. 类变量随着类的加载而存在方法区中
实例变量(成员变量)随着对象的建立而存在于堆内存中
b) 生命周期
i. 类变量声明周期最长,随着类的消失而消失
ii. 实例变量声明周期随着对象的消失而消失
3, 静态的使用注意对象
a) 静态方法只能访问静态方法或静态成员变量
b) 非静态可以访问静态或者非静态
c) 静态方法中不能定义this,super关键字
因为静态优先于对象存在,所以静态方法中不能出现this
4, 静态的利弊
a) 利:对对象的共享数据进行单独空间的存储,节省内存空间,可以被类名直接调用。
b) 弊:声明周期过长,访问出现局限性(静态只能访问非静态)。