• Java学习笔记


     一、Java的内存需要划分为5个部分:

    1、栈(Stack):存放的都是方法中的局部变量。          //自动释放

                局部变量:方法的参数,或者是方法{}内部的变量

                作用域:一旦超出作用域,立刻从栈内存当中消失。   

    2、堆(Heap):凡是new出来的东西,都在堆当中。        //程序员手动清除释放,由JAVA虚拟机中垃圾回收器清除

                堆内存里面的东西都有一个地址值:16进制

                堆内存里面的数据,都有默认值。规则:如果是整数,默认为0    浮点数默认为0.0    字符默认为..    布尔值默认为false  引用类型默认为null

    简言之是:在堆中创建了一个数组或对象后,在栈中创建一个特殊变量,特殊变量指向堆中数组或对象的首地址值,以便访问堆中的数据

    3、方法区: 存储.class相关信息,包含方法的信息

    4、本地方法栈:与操作系统相关

    5、寄存器:与CPU相关

    ps: 方法区的函数要执行,必须使它入栈

     

    example如上:(9月7日解读!!!)

    二、Java面向对象oop

    2.1 类和对象

    类包括属性和行为,例如:猫--> 属性:名字、体重、年龄、颜色       行为:走、跑、叫   类名更像是我们要实现的目标

    成员变量(属性):

    string name;   //猫姓名

    int age;   //猫年龄

    成员方法(行为)

    public void eat() {}   //成员函数不加static    

    对象:是一类事物的实例,是具体的(类是一类事物的描述,是抽象的)

    封装性:1、方法就是一种封装

                   2、关键字private也是一种封装

    封装就是将一些细节信息隐藏起来,对于外界不可见

    this关键字:当方法的局部变量和类的成员变量重名时,根据就近原则,优先使用局部变量

                        这时候就可以用this.name指向当前对象的变量

    构造函数:分为无参构造函数、全参构造函数,不设返回值

    只有java.lang下的内容不需要导入

    Scanner sc = new Scanner (System.in);   //system.in表键盘输入

     匿名对象每次都相当于是新建,适用于只需要使用一次的对象

    字符串常量池:双引号直接写的字符串在常量池中,新建的不在,但同在堆中!

    静态static关键字!

    final关键字:1、修饰参数时,只允许被赋一次值,不能被修改;如果是方法成员参数,则是在生命周期内无法被改变!

                         2、修饰方法时,表示该方法不能被覆盖

                         3、修饰类时,表示该类无法被继承(2,3要谨慎使用)

  • 相关阅读:
    《VC++深入详解》学习笔记 第十二章 文件和注册表操作
    《VC++深入详解》学习笔记 第九章 定制应用程序外观
    《VC++深入详解》学习笔记 第七、八章对话框
    《VC++深入详解》学习笔记 第六章 菜单
    《VC++深入详解》学习笔记 第五章 文本编程
    《VC++深入详解》学习笔记 第四章 简单绘图
    《VC++深入详解》学习笔记 第三章 MFC框架程序剖析
    Inno_Setup使用笔记(简单完成安装包制作)
    《VC++深入详解》学习笔记 第一章 Windows程序内部运行机制
    搭建eclipse的nodejs开发环境图解
  • 原文地址:https://www.cnblogs.com/GinaHan/p/13623684.html
Copyright © 2020-2023  润新知