没有合适的资源?快使用搜索试试~ 我知道了~
java工程师面试总结.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 177 浏览量
2021-12-18
13:00:37
上传
评论
收藏 365KB PDF 举报
温馨提示
试读
10页
。。。
资源推荐
资源详情
资源评论
一.@autowired 和@resource 的区别
@Resource 的作用相当于@Autowired,只不过@Autowired 按 byType 自动注入,而@Resource
默认按 byName 自动注入罢了。@Resource 有两个属性是比较重要的,分是 name 和 type,
Spring 将@Resource 注解的 name 属性解析为 bean 的名字,而 type 属性则解析为 bean 的类
型。所以如果使用 name 属性,则使用 byName 的自动注入策略,而使用 type 属性时则使用
byType 自动注入策略。如果既不指定 name 也不指定 type 属性,这时将通过反射机制使用
byName 自动注入策略。
@Resource 装配顺序
1. 如果同时指定了 name 和 type,则从 Spring 上下文中找到唯一匹配的 bean 进行装配,
找不到则抛出异常
2. 如果指定了 name,则从上下文中查找名称(id)匹配的 bean 进行装配,找不到则抛
出异常
3. 如果指定了 type,则从上下文中找到类型匹配的唯一 bean 进行装配,找不到或者找
到多个,都会抛出异常
4. 如果既没有指定 name,又没有指定 type,则自动按照 byName 方式进行装配;如果没
有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;
final 可用来修饰类,变量,方法。
1.final 修饰变量:final 修饰变量时,表示该变量一旦获得了初始值之后就不可改变。
1.修饰成员变量: 与普通成员变量不同的是,final 成员变量(实例属性和类属性)必
须由程序员显示初始化,系统不会对 final 成员变量进行隐式初始化。
非 final 修饰的成员变量初始化过程:当进行静态初始化时,可对类属性初始化,当执行
普通初始化块,构造器时可对实例属性初始化,因此:非 final 成员变量的初始值,可以在
定义该变量时指定初始值,可以在初始化块,构造器中执行初始化值,否则成员变量的初始
值是由系统自动分配的初始值。
final 修饰的类属性,实例属性指定初始值的地方:
类属性:静态初始化块,声明该属性时指定初始值。
实例属性:非静态初始化块,构造器,声明该属性时指定初始化值。
二.final 修饰局部变量:
1.系统不会对局部变量进行初始化,必须由程序员显示初始化。
如果在定义 final 变量时没有指定初始值,则可以在后面代码中进行对 final 变量赋初始
值,但只能一次,不能重复赋值,,如果 final 修饰的局部变量在定义时已经指定默认值,则
后面的代码中不能再对该变量赋值。
2.final 修饰形参不能被赋值,因为形参在调用该方法时,有系统传入的参数来完成初始
化。
3.final 修饰基本类型变量与引用类型变量的区别:
1.final 修饰基本类型变量时,不能对基本变量重新赋值,因为基本类型变量不能被改变。
2.final 修饰引用类型变量时,仅仅保持的是这个引用所引用的地址不会改变,既一直引
用同一个对象。但这个对象完全可以改变(对象的属性)
例如: final person p = new person();
//改变 person 对象的 age 属性,合法。
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功