代码块、final关键字、包、权限修饰符的复习理解

1.代码块:
概述:被大括号单独包裹的代码段叫做代码块根据位置的不同,命名的不同它的使用时机和功能不一样。
分类:
1.局部代码块:
概述:定义在方法中的代码块
位置:方法的方法体中
作用:给局部变量赋值,或者定义局部变量。
优点:缩小了局部变量的使用范围和声明周期,及时的释放内存空间达到提升运行效率
注意事项:1.局部代码块可以使用外部的局部变量,但是外部不能使用代码块内部的局部变量。2.局部代码块内部的局部变量的生命周期比外边的局部变量短,随着代码块的执行的完毕就消失了,而外部的局部变量随着方法的执行完毕而消失。3.局部代码块定义变量时不能和外边的变量同名。
2.构造代码块
概述:定义在成员位置的代码块
位置:属性位置【类中方法外】
作用;给类的属性赋值。
特点:1.可以给成员属性赋值2.每次创建对象的时候他都会执行一次。3.构造方法执行前他先执行。
执行时机:创建对象的时候就执行。
3.静态代码块
概述:被static修饰的构造代码块更名为静态代码块
位置:成员属性位置
作用:给静态变量赋值
格式:static{代码段}
执行特点:随着类的加载而加载,只加载一次【只执行一次。】
4.同步代码块(多线程,后续补充
作用:就是解决多线程安全问题的使用格式:synchronized(锁对象){会发生线程安全的代码}同步代码块上锁:上在资源有可能产生问题的地方。同步方法:
概述:把线程要执行的代码使用方法封装起来,然后我给方法上把锁,将来jvm要想执行这个方法,必须有这个方法对应锁
同步方法的格式:权限修饰符 synchronized 返回值类型 方法名称(参数列表){需要同步的方法体 【多条线程需要共同执行的代码段】}
代码块的注意事项:
1.优先执行静态代码块【只执行一次】【先加载那个类就先执行那个静态代码块;测试类要优先于其他类;其他类根据代码的书写顺序,自左到右自上而下的以此执行。】
2.创建对象的时候先执行构造代码块,在执行构造方法
3.对象调用方法的时候会执行方法中的内容【局部代码块】
4.再一次创建对象先执行构造代码块,在执行构造方法【静态代码块只执行一次。在第一次加载类的时候创建】

2.final关键字的使用
概述:他是一个关键字,表示最终的含义,用来修饰相关资源的。
final修饰的内容:修饰类、属性、方法。
修饰类:最终类:不能够被继承。
修饰变量:变量的值就会成为最终值,不能够改变。特点:值不会发生改变了,理解为常量
注意点:final修饰的变量只能赋值一次,不能二次赋值。
修饰方法:不能被子类重写,但是可以被调用【子父类都可以调用。】

3.包
概述:存放并分类管理代码文件的特殊文件夹;包可以被编译器识别,其他普通文件夹不能被识别;在开发工具中包默认在src的包下,src提供给编译器识别包
作用:分类管理代码
命名:公司域名反写,名称全部小写,包和包之间用.隔开
特点:1.全部单词小写2.唯一;3.不同的包中可以出现相同名称的类、接口等资源
声明:使用关键字package进行声明;格式:package包的具体路径;比如 :package com.wpc.demo; 导包:使用关键字import+具体包路径 比如:import Java.util.Scanner; 运行时:通过加载包中的资源,通过导包的路径找到对应得资源。

4.权限修饰符:
概述:修饰相关内容,使改内容得访问范围在一定的范围我们可以访问使用,出了这个范围就不能访问了
分类:
private:私有的 只可以在本类中使用【常用的封装属性】
默认的:什么都不写,在本类中使用,在同一个包下也可以使用
protected:受保护得 在本类可以使用 在同一个包下也可以使用 不在同一个包下可以继承但不能被使用。
public :公开得 没有范围限制。【最常用的。】

发布了29 篇原创文章 · 获赞 9 · 访问量 828

猜你喜欢

转载自blog.csdn.net/qq_41488299/article/details/104740356