1.java内存分配

  a.寄存器cup  --  暂不涉及

  b.本地方法栈   --  虚拟机调用windows功能用的,比如创建文件夹

  c.方法区     --  存放 .class文件,负责存放方法

  d.栈      --   负责运行方法(运行时从方法区拷贝一份到栈)

  e.堆        --   创建并存放对象(new出来的对象)

2.栈和堆的区别

  a.存储内容   栈-方法 堆-对象

  b.默认值  栈-无默认值  堆-有默认值 (所以成员变量不需初始化赋值,局部变量必须赋值 )

  c.生命周期 栈-方法执行完毕弹出  堆-对象使用完毕,等待虚拟机回收 (堆>栈)

3.类和对象

  a.类 - 类是具备某些共同特征的实体的集合,它是一种抽象的概念,比如人类

  b.对象 - 所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。

  类是对象的集合,对象是类的实例(人是类,张三就是具体的对象)

4.成员变量和局部变量的区别

  a.定义位置不同  成员变量 - 类  局部变量 - 方法

  b.默认值     成员变量 - 跟随类在堆中存储,有默认值;  局部变量 - 跟随方法进栈,无默认值,使用必须手动赋值

5.方法的重载与重写

  重写 - 又称为覆盖,对于继承而言,子类对父类方法的重写或者扩展,方法名,返回值类型必须一致

  重载 - 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型(构造方法为例)。

6.代码块

  a.局部代码块 - 基本不用,限制局部变量生命周期的

  b.静态代码块 - 类中 建立对象运行一次,以后不在运行,只要类进内存,就运行

  c.构造代码块 - 类中 每new一次对象,就会运行

  运行顺序   静态代码块 > 构造代码块 > 构造方法

7.继承

  继承好处:
    代码少了,减少编写量
    子类可以扩展父类的功能
    继承使类与类产生了关系,有了这个关系导致了面向对象第三个特征多态

  注意事项:
    单继承,多层继承;一个类只能继承一个父类(一个孩子只能有一个爹,一个爹可以有多个孩子)

    只能继承父类非私有的成员变量和方法(如果父类加private,子类不知道)

  继承后子父类成员变量的关系:

    就近使用原则,如果子类有,使用自己的,没有找父类

  

  总结子类父类构造方法的特点:
    1. 子类所有构造方法第一行就是super(),调用父类空参数构造方法
    2. 如果父类中没有空参数构造方法,子类构造方法必须手写super传递参数,否则编译失败
    3. 子类构造方法写this或者super,选择一个,保证子类可以间接或者直接访问过父类空参数构造

    子类所有构造方法,无论如何必须访问过父类构造方法,因为子类需要看到父类成员时怎样初始化的

  

 8.多态

  多态细节: 

    快速记忆办法: Fu f = new Zi();
    除了非静态的成员方法以外,编译运行都看左边
    只有非静态成员方法,编译看左边,运行看右边

   为什么编译看左边
    javac 编译工具,源文件编译成JVM识别的class文件
    检查语法错误
    Fu f = new Zi();
    f.x  只能检查Fu这个类,检查不到 = 右边的对象 (对象建立是运行时期的事情)

    为什么只有非静态的成员方法,运行是子类重写
    其他的运行全是父类呢 -- 设计思想就是扩展子类
    Fu f = new Zi();
    f.XXXX

  

   

java基础知识备忘的更多相关文章

  1. React基础知识备忘

    section-1 //react组件 export class Halo extends React.Component{ constructor(...args){ super(...args); ...

  2. Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  3. 毕向东—Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  4. 黑马毕向东Java基础知识总结

    Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记    侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...

  5. Java基础知识回顾之一 ----- 基本数据类型

    前言 在开始工作至今,学习各种各样的技术之中发现自己的很多Java的基础知识都忘了⊙﹏⊙b汗... 而且越是学习越是发现Java基础的重要性,所以准备单独抽一下时间进行Java基础的重新学习.在重新学 ...

  6. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  7. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  8. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  9. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

随机推荐

  1. json格式的文件操作

    1.字典转换为字符串(json.dumps) jsongeshi={"name":"yajuan","age":"10" ...

  2. 中阶d03.2 JDBC联合properties使用,通过读取本地配置文件为代码传递参数

    * 使用properties读取本地配置文件为代码传递参数 * url.用户名.密码.驱动地址等配置可以在配置文件中使用 main package zj_1_JDBC.properties; impo ...

  3. Linux CentOS7 开通端口外网端口访问权限

    一.查看系统防火墙状态(如果返回 running 代表防火墙启动正常)firewall-cmd --state二.开启端口外网访问1.添加端口 返回 success 代表成功(--permanent永 ...

  4. 15-场景中用到的资源监视器(perfmon metrics collector)

    JMeter 无法提取除 Tomcat 之外的其他服务器的指标,因此PerfMon Metrics Collector可用来获取性能数据. PerfMon Metrics Collector使用的是S ...

  5. tf.nn.conv2d 卷积

    tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 第一个参数input:指需要做卷积的输入 ...

  6. Redis学习三:Redis高可用之哨兵模式

    申明 本文章首发自本人公众号:壹枝花算不算浪漫,如若转载请标明来源! 感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫 22.jpg 前言 Redis 的 Sentinel 系统用于管理多个 Redi ...

  7. 疲劳驾驶打瞌睡?python保障您的驾驶安全

    道路千万条,安全第一条!疲劳驾驶可谓交通事故几大罪魁祸首之一,根据美国一项研究显示,司机睡眠不足4小时,交通事故肇事几率等同于醉驾. 为了减少疲劳驾驶现象,驾驶员疲劳检测应运而生.这是一项安全技术,可 ...

  8. ASE课程总结 by 张葳

    本期ASE课程分为两个阶段,第一阶段的personal project与第二阶段的team project,其中,第一阶段旨在锻炼我们个人的问题解决能力和编程能力,第二阶段则锻炼主要我们的管理能力,合 ...

  9. Coin Change UVA

    Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to makech ...

  10. CodeForces - 855B ring 前缀和

    邓布利多教授正在帮助哈利摧毁魂器.当他怀疑一个魂器出现在那里时,他去了冈特沙克.他看到Marvolo Gaunt的戒指,并将其确定为魂器.虽然他摧毁了它,但仍然受到诅咒的影响.斯内普教授正在帮助邓布利 ...