一:浅拷贝与深拷贝:

  对于基本数据类型,直接进行拷贝,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基础回忆、复习(一)的更多相关文章

  1. JAVA基础部分复习(一、8中基础类型,以及String相关内容)

    以下是关于java中8种基本类型的介绍说明: package cn.review.day01; /** * java基础复习,8种数据类型 * (byte,short,long,int,double, ...

  2. JAVA基础部分复习(七、JAVA枚举类型使用)

    /** * java中的枚举 * 枚举(enum),是指一个经过排序的.被打包成一个单一实体的项列表.一个枚举的实例可以使用枚举项列表中任意单一项的值. * 枚举在各个语言当中都有着广泛的应用,通常用 ...

  3. Java基础再复习(继承、多态、方法内部类**、HashMap用法**、参数传递**)

    ###继承: package com.shiyan; public class Animal { public int legNum; //动物四肢的数量 //类方法 public void bark ...

  4. JAVA基础部分复习(六、常用关键字说明)

    /** * JAVA中常用关键字复习 * final * finalize * finally * * @author dyq * */ public class KeyWordReview exte ...

  5. JAVA基础部分复习(二、集合类型)

    对于这些常用的集合,建议还是需要先了解一下底层实现原理,这样在不同的使用场景下才能选择更好的方案. Set介绍以及对比,常用方法: package cn.review.day02; import ja ...

  6. JAVA基础知识复习小结

    集合 Set集合 Set集合的基本特征是元素不允许重复.HashSet不保存元素顺序,LinkedHashSet用链表保持元素的插入顺序,TreeSet可定制排序规则. HashSet的底层是用Has ...

  7. java基础知识复习

    String  http://blog.csdn.net/uyu2yiyi/article/details/6275808 1. 首先String不属于8种基本数据类型,String是一个对象. 因为 ...

  8. java基础知识点复习

    第一天: JRE.JDK是什么? Jre java运行环境.Jre = java虚拟机+核心类库(辅助java运行的文件) Jdk:java开发工具集jdk = jre+java的开发工具 2. 配置 ...

  9. JAVA基础部分复习(五、JAVA反射)

    关于反射: 1.需要了解jvm类的加载机制(java高级部分会详细介绍) 2.反射的API其实只要多看看API和源码,很容易就懂了. 下面是代码,简单讲解反射的使用: import java.lang ...

随机推荐

  1. Go爬去以太坊的价格数据

    package main import ( "encoding/json" "errors" "fmt" "io/ioutil&q ...

  2. position(3rd week blog)

    static:静态的默认属性,上(top)下(bottom)左(left)右(right)等参数不会执行没有影响.relative:此属性会根据上(top)下(bottom)左(left)右(righ ...

  3. 寒假作业 pta编程总结3

    实验代码: 某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T),或者放置一块奶酪(C),或者什么也不放(X).捕 ...

  4. 2018-2019-2 20165313 《网络对抗技术》 Exp5:MSF基础应用

    实践使用漏洞和辅助模块 任务一:MS17-010安全漏洞 任务二:(1)MS11-050(失败)(2)MS14-064(唯一) 任务三:abode_flash_avm2 辅助模块:(1)ARP扫描模块 ...

  5. highchart在IE8下面的显示问题解决

    完整的代码: <!DOCTYPE HTML><html> <head> <meta http-equiv="Content-Type" c ...

  6. 2017 cinemachine

    只有2017以上才可以使用~ 导入Asset store中的cinemachine,会在上方显示cinemachine.每创建一个虚拟摄像机,就会在主摄像机下创建组件  cinemachine Bra ...

  7. 闲记 单元格与单元格之间的边 ///字体属性都是font开头,除了颜色属性 ///文本属性都是text开的,除了设置行高。

    这两天一直在做网页没有什么太大的问题,期间也考了一场试,对答案的时候老师讲了一些小知识,因此来记录一下. 单元格与单元格之间的边距(cellspaling) list-type-image可以使用图像 ...

  8. Visual Stdio2017 使用

    1. 快捷键: https://www.cnblogs.com/happyzwt/p/7769129.html 2.

  9. Reactor和Proactor

    服务器编程框架 IO处理单元 :处理用户连接,读写网络数据:(单机) :作为接入服务器,实现负载均衡;(集群) 请求队列 :各个单元之间通信的抽象,通常被实现为池的一部分:一个单元通知另外一个单元,或 ...

  10. day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType

    一.ajax 的特点 1.异步交互:客户端发出一个请求后,需要等待服务器响应结束后, 才能发出第二个请求 2.局部刷新:给用户的感受是在不知不觉中完成请求和响应过程. 二.ajax 模板示例 ($.a ...