A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

创建对象就是为了产生实例,并进行数据的封装。
而调用对象时,却没有用到对象中封装的数据,虽然可以编译通过,但会产生堆内存的浪费。
则需要使用静态关键字static:这是一个成员修饰符
0.静态方法:
0.1静态方法不能访问非静态的成员。
0.2但是非静态方法可以访问静态成员。
0.3静态方法中不允许this,super关键字。
原因:静态是随着类的加载就加载了,也是随着类的消失而消失了。
     静态优先于对象存在,被对象共享。
     静态先存在于内存中无法访问后来的对象中的数据,所以静态无法访问非静态。
     而且静态中无法书写this,因为这时对象可能不存在,this没有任何指向。
1,好处:
    1.0被静态修饰的方法,除了可以被对象调用外,还可以被类名调用。
    1.1并不是所有的方法都需要静态。
2.用法:
    2.0当不需要访问成员变量时,该方法可以定义为静态方法。

main函数关键字:
public:权限最大。
static:不需要对象,直接给定的类名就可以访问该函数了。
void  :不需要返回值。
main:函数名,该函数名是固定的。
(String[] args):主函数的参数列表:字符串属性类型的参数。
args:arguments:参数。该名称就是一个变量名。约定俗成的参数名称。
3.static 关键字修饰静态变量
    static修饰成员变量,实现对象的共享,加入静态关键字,避免浪费空间。
3.1什么时候定义静态变量呢?
    当该成员变量的值,在每一个new的对象中都一致时,就对该对象的成员变量进行静态修饰。

4,静态变亮和成员变量的区别:
   4.1所属的范围不同,
        静态变量所属于类,成员变量所属于对象。
        静态变量也称为:类变量,成员变量也称为实例变量。  
   4.2调用不同
       静态变量可以被对象和类调用。(一般都用类名调用)。
       成员变量只能被对象调用。
   4.3加载时期不同,
       静态变量随着类的加载而加载,
       成员变量随着对象的加载而加载。
   4.4内存存储区域不同
       静态变量存储在方法区中,
       成员变量存储在堆内存中。
静态代码段:
1.需求:类一加载,需要做一些动作,不一定需要对象。
   特点:随着类的加载而执行,一创建类就执行。
         而且仅执行一次,加载一次。
   作用:给类初始化。
2,静态变量有两次初始化:一次默认初始化,一次显示初始化。
3,静态代码段,在静态变量显示初始化以后在执行。
局部代码段:
{
        构造代码;//(这里可以定义不同的构造函数的共性代码)
}
构造代码段,只要创建对象就会被调用,给所有对象初始化,构造函数只给对应的对象针对性的初始化。
作用:可以控制局部变量的生命周期,

1 个回复

倒序浏览
谢谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马