Java封装概念,static,this,代码块

封装(private)

封装是为了保护数据不被错误修改。并且可以保护类属性不被类意外类以外成员随意修改(比如粗心,或者恶意篡改等)
封装原则:隐藏对象的属性和实现的细节,仅对外公开方法,并控制访问级别
一般来说最常见的方法就是setter和getter

This关键字

this关键字指的是当前对象。所以this.attribute指的是当前class对象里面的attribute。所以如果想要调用还没对象初始化的类的构造方法,需要在方法里用this.(指代当前对象)+构造方法/属性
举个例子,下图这个类,我们想要在无参构造方法里设置一个默认值,那么就用this(string name, int age)这里可以翻译成:调用这个类里含有参数string name, int age的构造方法来创建。
this关键字

但是这里要注意不要调用回环。比如构造方法A B C,不要A调用B,B调用C,C再调用A成环。这样子可能导致程序崩溃

Static

static方法或者属性是被加载在方法区的。在类一被加载(参考编译过程,加载不一定被运行)时就有了。所以这个类还没被实例化也可以使用,跟堆和栈的内存是区别开的。所以这就是为什么允许非static方法调用static,不允许static调用非static。(因为你static一开始就加载进去了,你调用非static可能都还没实例化。当然你实力化以后可以直接调用。但是非static可以直接调用是因为非static不管实例化与否static方法都存在,所以不会出问题)

代码块

代码块用最无脑的话解释就是写在两个花括号之间的代码
主要分为4种代码块:普通代码块,构造代码块,静态代码块,同步代码块
普通代码块 在执行的流程中 出现的代码块, 我们称其为普通代码块。
构造代码块 在类中的成员代码块, 我们称其为构造代码块。 在每次对象创建时执行, 执行在构造方法之前。也就是说不管运行的是哪一种构造方法都一定会执行一次
静态代码块 在类中使用static修饰的成员代码块, 我们称其为静态代码块, 在类加载时执行。 每次程序启动到关闭 ,只会执行一次的代码块。
同步代码块 在后续多线程技术中学习。

**面试题:**构造方法 与 构造代码块 以及 静态代码块的执行顺序: 静态代码块 --> 构造代码块 --> 构造方法
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值