美文网首页
基础拾遗(一)

基础拾遗(一)

作者: iLyer | 来源:发表于2017-09-21 22:49 被阅读0次

温故《Java核心技术》,所以基本上是根据这本书对基础进行部分拾遗,看到哪儿记到哪儿

类关系

依赖(use-a)

A类的方法操作B类的对象,则A依赖B,比如Order类需要访问Account类,查看信用状态。

聚合(has-a)

类A对象包含类B的对象,比如Order对象包含Item对象

继承(is-a)

类A是类B的一种特殊情况,比如RushOrder由Order类继承而来

方法参数说明

Java传递类型两种:

  1. 基本数据类型
    基本对象类型传递过去的是一个值得拷贝,所以不会改变原有的值;
  2. 对象引用
    对象传递过去的是对象的引用地址,所以如果改变对象的话,原对象内容会跟着变

继承

重载

方法名与参数形成一个标签(注意返回类型不在标签内),同一个方法名,不通的参数称之为(方法)重载

多态

一个超类,可以有很多个不同的子类,比如Employee(雇员)这个超类,他可以有很多子类开发人员、测试人员、经理、销售人员等等。Employee对象可以引用Employee对象,也可以引用任何他的子类对象,这种置换关系称之为多态

方法的执行过程
  1. 获取类名与方法名
  2. 获取参数,进行重载解析
    1. 找到参数完全匹配的方法,若有则定位此方法为调用方法
    2. 对参数进行类型转换,匹配最符合条件的方法
    3. 若都没有,或者找到多个,则报错
  3. 绑定方法
    1. 若方法是private、final、static类型的,则编译器可以知道准确方法,进行静态绑定(由编译器绑定)
    2. 若方法非以上三种类型,则调用方法需要依赖于隐式参数的实际类型,在运行时动态绑定(由方法调用器绑定)
  4. 执行方法
    1. 类方法(静态绑定),虚拟机会基于对象引用的的类型来选择调用的方法
    2. 实例方法(动态绑定),虚拟机基于对象实例(只有在运行时得知)类型,动态获取方法(这算是多态)
      1. 虚拟机提取对象的实际类型的方法表;
      2. 虚拟机搜索方法签名;
      3. 调用对象相匹配的方法

未完待续……

相关文章

  • 基础拾遗(一)

    温故《Java核心技术》,所以基本上是根据这本书对基础进行部分拾遗,看到哪儿记到哪儿 类关系 依赖(use-a) ...

  • Java 拾遗(之二)

    Java 拾遗(之二) 背景 上一篇《拾遗》只是对Java语言基础知识的一个笼统的梳理,有些之前接触不太多的,或者...

  • Java基础拾遗(一)

    虽然这个专栏系列旨在告诉大家如何快速的开发一个Android原生的app,但是工欲善其事,必先利其器。因此,在开始...

  • python 基础拾遗(一) 类

    首先要说的是 python2是经典类,需要显式继承 object 才能成为一个新式类. pyhton3不需要这样....

  • java基础拾遗

    说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为tru...

  • 拾遗神兽目录

    拾遗神兽(番外篇)黑猫 拾遗神兽(1)水晶心的梦 拾遗神兽(2)新宠 拾遗神兽(3)初次交锋猫大爷 拾遗神兽(4)...

  • 异步编程之Future和Promise

    最近在拾遗JS基础,看到Promise,总觉得和Java中的Future有联系,放在一块对比总结一下,加深记忆。 ...

  • 多线程基础——拾遗

    主要内容 线程组的使用 切换线程状态的的方法 SimpleDataFormat类与多线程的解决办法 处理线程异常的...

  • Python基础语法拾遗

    Python列表的概念 具备数组的特点 但是可以存放不同的数据类型 长度可以任意伸缩 查看本地所装的模块 文件操作...

  • Java 基础拾遗(三)

    简单解释下:1、一个矩形框表示一个类。类图分三层,第一层是类名称,如果是抽象类则用斜体显示。第二层是该类的特性(属...

网友评论

      本文标题:基础拾遗(一)

      本文链接:https://www.haomeiwen.com/subject/hpxxextx.html