【java特性_面向对象】this关键字 static关键字 代码块

this关键字作用

1.this修饰属性:
例如:属性与形参发生重名时或者 属性与局部变量发生重名时(均会出现就近原则),需要用this.修饰属性。
如果不发生重名,访问属性可以省略this
2.this修饰方法:
在同一个类中,方法可以相互调用,this.可以省略不写。
3.this修饰构造器
同一个类中的构造器可以相互用this调用,但是注意this修饰的构造器必须放在第一行。

    //构造方法
    public Person(int id , int age ){
        this(id);
        this.age = age;
    }
    public Person(int id){
        this.id = id ;
    }

static 作用

static可以修饰:属性、方法、代码块、内部类
1. static修饰属性:

在这里插入图片描述
在这里插入图片描述

public class Test {
    //属性
    int id ;
    static int sid ;

    public static void main(String[] args) {
        Test t1 = new Test();
        t1.id = 10;
        t1.sid = 10;

        Test t2 = new Test();
        t2.id = 20;
        t2.sid = 20 ;

        Test t3 = new Test();
        t3.id = 30;
        t3.sid = 30;

        System.out.println(t1.id);//10
        System.out.println(t2.id);//20
        System.out.println(t3.id);//30

        System.out.println(t1.sid);//30
        System.out.println(t2.sid);//30
        System.out.println(t3.sid);//30
    }
}

访问方式
访问方式:对象名.属性名 类名.属性名(推荐)
官方推荐:通过类名.属性名方式去访问:

		Test.sid = 100;
        System.out.println(Test.sid);//100

应用场景:
某些特定的属性想要在内存中共享,那么就可以用static修饰属性。

属性分类:
静态属性:类变量
非静态属性:实例变量

2. static 修饰方法
  1. static和public关键字没有先后顺序,都是修饰符
  2. static修饰的方法(静态方法)不能访问非静态属性
  3. static修饰的方法(静态方法)不能访问非静态的方法
  4. stiatic修饰的方法(静态方法)不能使用this关键字(修饰的属性和方法)
  5. 非静态的方法可以用对象名.方法名调用
  6. 静态方法可以用对象名.方法名 也可以类名.方法名(推荐)调用
  7. main方法可以调用所在的类中static方法。

代码块

类的组成:属性 方法 构造器 代码块 内部类

代码的分类:普通块 构造块 静态块 同步类
  1. 普通块:限制局部变量作用域
  2. 构造块:
  3. 静态块:
static{
} 

在静态块中只能访问静态属性、静态方法
总结:

  1. 代码块的执行顺序:最先执行静态块,只在类加载时执行一次,一般在实战项目时:创建工厂、数据库的初始化信息都放入静态块。一般用于执行全局操作。
  2. 再执行构造块
  3. 再执行构造器
  4. 最后执行方法中的普通块
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值