一:浅拷贝与深拷贝:

  对于基本数据类型,直接进行拷贝,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. 软件测试_Fiddler抓包工具一

    多数资料摘抄至 https://www.cnblogs.com/miantest/p/7289694.html 一.在 macOS 下如何安装 (https://www.telerik.com/fid ...

  2. VritualBox安装CentOS及安装增强工具图文教程

    一  VM VirtualBox VirtualBox可在官网https://www.virtualbox.org/下载,完全免费. 二  安装CentOS系统(以CentOS6.9为例) 1.Cen ...

  3. robotframework之去除空格、去掉前面的0、增加空格换行符的方法,两个字符之间的拼接

    1.去除空格 A)若需要去除两个拼接字符之间的空格,可以使用robotframework中的关键词Catenate,需要注意的是SEPARATOR=一定需要大写 B)若在一个字符串中存在空格,且需要去 ...

  4. ECharts 从后台动态获取数据 (asp.net)

    (一) 使用工具 visual studio 2017:Web开发:asp.net (代码中的js引用路径以及ajax方法调用的url,记得修改哦) (二) 准备工作(此处写给和我一样小白) 1.动态 ...

  5. consul & registrator & consul-template 使用

    consul & registrator & consul-template 使用 参考这里的文章: https://www.jianshu.com/p/a4c04a3eeb57 do ...

  6. jQuery案例2

    $(this).index用来获取取到的所有元素的序号 省市联动 <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xh ...

  7. Anaconda下安装OpenCV

    安装命令:conda install -c https://conda.binstar.org/menpo opencvwin10+Anaconda3+python3.5.2,最终cv版本为3.3.1 ...

  8. TCL 引用同目录下其他脚本文件--source

    方法一: source [file join [file dirname [info script]] Export_inp_by_loadstep.tcl] 方法二: source [file jo ...

  9. 浏览器打开aspx文件 ,提示:XML 解析错误:找不到根元素

    在使用VS2013这个IDE创建aspx文件后,在浏览器打开后居然发现了以下错误:XML 解析错误:找不到根元素         详细查看里面的信息,发现了这么一个链接位置:http://localh ...

  10. Oracle查看表空间

    知道表空间名,显示该表空间包括的所有表. select * from all_tables where tablespace_name='表空间名' 知道表名,查看该表属于那个表空间 select t ...