Javase面向对象之this static关键字的引用及作用

一,this关键字的使用场景、细节及其应用

1,什么情况下使用this?

         当成员变量和局部变量重名,可以用this关键字区分。

2,this的使用:

         this代表对象,代表的就是当前对象。this就是所在函数所属对象的引用。简单来说,哪个对象调用了this所            在的函数,this就代表哪个对象。

示例如下:


上面方法中的this即指下面类中的person


3,注意:一个类中的所有成员想要被执行都必须要被对象调用。

4,this也用于在构造函数中调用其它构造函数(只能定义在构造函数的第一行,因为初始化动作要先执行。构造函数已给对象初始化):

Person(String name)
{
this.name=name;
}
Person(String n,int a)
{
this(name);
this.age=age;

}

二:static关键字

1,static关键字用于修饰成员(成员变量和成员函数)

被修饰后的成员具备一下特点:

        随着类的加载而加载

        优先于对象存在

        被所有对象所共享

        可以直接被类名调用

使用注意:

         静态方法只能访问静态成员

         静态方法中不可以写this,super关键字

         主函数是静态的

2,static的特点:

           static是一个修饰符,用于修饰成员。

            static修饰的成员被所有的对象所共享。

            static优先于对象存在,因为static的成员随着类的加载就已经存在了

             static修饰的成员多了一种调用方式,就可以直接被类名所调用。类名,静态成员。

             static修饰的数据是共享数据,对象中的存储的是特有数据

3,static关键字,静态代码块

           静态代码块:独立的代码空间,随着类的加载而执行,而且只执行一次。

           作用:用于给类进行初始化。 

          示例如下:

         class StaticCode
{
static int num;
static
{
num=10;
num *=3;
System.out.println("hahh");
}
StaticCode(){}
static void show()
{
System.out.println("num");
}
}


class StaticDemo
{
public static void main(String[] args)
{
StaticCode.show();
}

}

4,static关键字-成员变量和静态变量的区别

       两个变量的生命周期不同:

       成员变量随着对象的创建而存在;静态变量随着类的加载而存在,随着类的消失而消失。

       调用方式不同:

       成员变量只能被对象调用;静态变量可以被对象调用,还可以被类名调用。

      别名不同:

       成员变量也成为实例变量;静态变量成为类变量

        数据存储位置不同:

         成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据;静态变量数据存储在方法区(共享数据区)(的静态               区),所以也叫对象的共享数据

5,静态使用的注意事项:

           静态方法只能访问静态成员(非静态既可以访问静态,又可以访问非静态)

            静态方法中不可以使用this , super关键字

            主函数是静态的


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值