java基础回忆、复习(一)
一:浅拷贝与深拷贝:
对于基本数据类型,直接进行拷贝,String类型,有两种拷贝方式:
1:直接将原对象中的name的引用值拷贝给新对象的name字段。<浅拷贝>
2:根据原对象中的name指向的字符串对象创建一个新的相同字符的对象,将新字符的引用符赋给新拷贝的对象的name字段<深拷贝>
深拷贝一个对象,这个对象必须实现Cloneable接口,实现clone方法,并且在clone内部,把该对象引用的对象也要clone一份,所以被引用的对象也必须实现Cloneable接口和clone方法
jpg来源java宝典

二:如果两个对象相同(equals方法返回true),那么他们的hashcode一定相同。
如果hashcode相同,他们并不一定相同。
三:String类是finla类,不能继承
四:方法的重载和重写都是实现在实现多态,重载实现编译时的多态,后者实现运行时的多态。
重载原则(1、方法名一致,参数列表中参数的顺序、类型、个数不变。2、与方法的返回值无关,存在与父类与子类,同类中。3、可以抛出不同的异常,可以有不同的修饰符)
重写原则(1、参数列表必须完全一样返回值也必须一样2、;构造方法不能被重写,声明为final、static的不能被重写,3、访问权限不能比父类低)
五:抽象方法需要子类冲重写,静态方法是无法被重写的
六:依赖注入(DI)
一个java对象(调用者)需要调用另一个java对象(被调用者,即被依赖对象)时,以前会采用“new被调用对象”。
使用Spring框架,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制,这样子,控制权由应用代码转移到Spring容器,控制权发生了反转,这就是Spring的控制反转。
Spring容器负责将依赖对象赋值给调用者的成员变量,这相当于为调用者注入了他依赖的实例,这就是Spring的依赖注入。
依赖注入的实现方式:
依赖注入的作用就是使用Spring框架创建对象时,动态地将其所依赖的对象注入Bean组件中,其实现方式通常有两种,一种时属性setter方法注入,另一种时构造方法注入。
属性setter方法注入:指ioC容器使用setter方法注入被依赖的实例,通过调用无参构造器或无参静态工厂方法实例化Bean后,调用Bean的setter方法,即可实现基于setter方法的依赖注入。
构造方法注入:指ioC容器使用构造方法注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。
java基础回忆、复习(一)的更多相关文章
- JAVA基础部分复习(一、8中基础类型,以及String相关内容)
以下是关于java中8种基本类型的介绍说明: package cn.review.day01; /** * java基础复习,8种数据类型 * (byte,short,long,int,double, ...
- JAVA基础部分复习(七、JAVA枚举类型使用)
/** * java中的枚举 * 枚举(enum),是指一个经过排序的.被打包成一个单一实体的项列表.一个枚举的实例可以使用枚举项列表中任意单一项的值. * 枚举在各个语言当中都有着广泛的应用,通常用 ...
- Java基础再复习(继承、多态、方法内部类**、HashMap用法**、参数传递**)
###继承: package com.shiyan; public class Animal { public int legNum; //动物四肢的数量 //类方法 public void bark ...
- JAVA基础部分复习(六、常用关键字说明)
/** * JAVA中常用关键字复习 * final * finalize * finally * * @author dyq * */ public class KeyWordReview exte ...
- JAVA基础部分复习(二、集合类型)
对于这些常用的集合,建议还是需要先了解一下底层实现原理,这样在不同的使用场景下才能选择更好的方案. Set介绍以及对比,常用方法: package cn.review.day02; import ja ...
- JAVA基础知识复习小结
集合 Set集合 Set集合的基本特征是元素不允许重复.HashSet不保存元素顺序,LinkedHashSet用链表保持元素的插入顺序,TreeSet可定制排序规则. HashSet的底层是用Has ...
- java基础知识复习
String http://blog.csdn.net/uyu2yiyi/article/details/6275808 1. 首先String不属于8种基本数据类型,String是一个对象. 因为 ...
- java基础知识点复习
第一天: JRE.JDK是什么? Jre java运行环境.Jre = java虚拟机+核心类库(辅助java运行的文件) Jdk:java开发工具集jdk = jre+java的开发工具 2. 配置 ...
- JAVA基础部分复习(五、JAVA反射)
关于反射: 1.需要了解jvm类的加载机制(java高级部分会详细介绍) 2.反射的API其实只要多看看API和源码,很容易就懂了. 下面是代码,简单讲解反射的使用: import java.lang ...
随机推荐
- 田螺便利店—filezilla实现Linux和windows通信
新站点改为sftp,端口为22 2,虚拟机通过桥接模式连网,ip地址为:192.168.119.147 已通过新建站点方式(SFTP)连接服务器(使用user账户),但是在使用系统root账号登录时失 ...
- springBoot 自动配置原理--自己新建一个 starter
上篇我们说到 springboot 和 SSM 框架的区别,今天我们就看看 springboot 到底为我们做了哪些事情,让我们开发变得如此简单. springboot 中起着重要作用的是 start ...
- 关于Airtest的使用探索
一.Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具.Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖 ...
- ionic2简单分析
Angular2是一个全新的框架,它从ReactJS以及其他web移动框架借鉴了不少经验和优点,巨大的改进使得开 发体验和性能已经超越了Angular1,而且Ionic2无论是从UI交互效果和跨平台的 ...
- JSF生命周期&Facelets的生命周期
1.JSF生命周期 1)恢复视图(Restore View) 视图表示组成特定页面的所有组件.它被保存在 客户端(通常存储在隐藏字段中)或服务器中(通常在会话中).根据请求访问的视图ID(页面地址), ...
- 使用数据泵expdp、impdp备份和还原oracle数据库
前面我已经整理过EXP 和 IMP备份和还原Oracle数据库的方法 今天我们只讲使用数据泵 expdp 和impdp的方法,有的同学会问他们有什么差别呢? EXP和IMP是客户端工具程序,它们既可以 ...
- ERROR: cannot launch node of type [turtlebot_teleop/turtlebot_teleop_key] 问题解决
当遇到问题
- 跳台阶(JAVA)
跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 思路:典型的动态规划问题,动态规划问题最关键的是把事件中的各种情形抽象为状态,然后找到前后 ...
- C++ 实数类
这是一堆我自己写完都怀疑人生的代码. 或许我见识太少了吧-- 实现一个实数类.这个类也可以看作是分数类.实现了基本的四则运算和比较.另外,与整数或小数的转换还没有实现,无限循环小数转分数也暂时没有实现 ...
- PythonStudy——迭代器 iterator
# 迭代器对象: 可以不用依赖索引取值的容器# 可迭代对象:可以通过某种方法得到迭代器对象 # 迭代器优点:可以不用依赖索引取值# 迭代器缺点:只能从前往后依次取值 可迭代对象 # 可迭代对象:有__ ...