JAVA学习笔记(1)
来源:互联网 发布:房贷利率折扣变化知乎 编辑:程序博客网 时间:2024/04/30 01:12
观看尚学堂马士兵老师的JAVA课程的笔记
内存分析 局部变量和成员变量 类 面向对象思想 引用
一、内存的四个区域
不同的操作系统每个程序内存分的区域不一样,但主要是四个:
1.代码区:用来存放代码,每次找到代码区的 main()方法开始执行
2.数据区:存放静态变量和字符串常量
2.栈:存放局部变量
3.堆:动态申请内存(所有new出来的东西都在堆里面)
二、局部变量和成员变量
Java纯面向对象,因此没有全局变量的概念,在方法和语句内部声明的是局部变量(出了大括号就失效了),在类的大括号内声明的是成员变量,在类外不能声明。
三、类
Java源文件基本的组成部分是类,一个源文件之中只能有一个public的类,并且public的类名必须和文件名相同,但其他类的数量不限。每个类有若干属性(成员变量)和方法,对象是类的实例,对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。所有对象共享该类的方法。
四、类之间的关系
1.关联关系:有一定关系,但是不很紧密(通常代码上表现为一个类的对象是另一个类的方法的参数之一)
2.继承关系:XX是一种XX(比如学生是人,学生类继承人类,同理男学生类继承学生类)
3.聚合关系:XX是XX的一部分(比如队长类和队员类是球队类的一部分)
4.实现关系:父类应该具有某种方法,但是只能让子类去实现。(涉及到接口)
五、面向对象做设计的指导性思想
1.考虑这个问题域里面有那些个类、那些个对象?
2.考虑这些类、这些对象有哪些个属性?
3.然后考虑它们之间的关系,定义它们之间的方法。
六、各种类型声明时的内存分配:引用
1.基本类型:int i=0;
内存中有一块空间名字叫i,里面的值是0;
2.引用类型:除了基本类型剩下的都是引用类型
引用类型占用两块内存,例如下图中“String s;”执行的时候会首先分配一块内存s(可能在堆内存,也可能在其他内存),内存中的值为NULL,然后执行“s=new String(“hello world!”)”后,系统会在堆内存中再次分配一块内存,用来存放s的各种信息。然后s内存中的值从NULL变为所分配堆内存的首地址。
对象一定存在堆内存,因为是运行期间才分配内存(new出来的)。
- java学习笔记(1)
- java学习笔记(1)
- Java学习笔记(1)
- Java 学习笔记(1)
- Java学习笔记(1)
- JAVA学习笔记(1)
- java学习笔记(1)
- java学习笔记(1)
- Java学习笔记(1)
- Java学习笔记(1)
- java学习笔记(1)
- java学习笔记(1)
- java学习笔记(1)
- java学习笔记(1)
- java学习笔记(1)
- Java学习笔记(1)
- Java学习笔记(1)
- JAVA学习笔记(1)
- 【Hash求LCP】HDU4080[Stammering Aliens]题解
- java基础知识--第六篇
- STM32引脚JTDO、JNTRST与JTDI作为普通IO口使用配置
- leetcode538 Convert BST to Greater Tree
- Tensorflow基础
- JAVA学习笔记(1)
- Python 3.6 实现简单的爬虫
- Double类型只用8字节存储但范围为什么那么大
- 单例模式再讨论(有关序列化的单例问题)
- bzoj1146: [CTSC2008]网络管理Network
- 299. Bulls and Cows
- (转)知乎:AssetMark,到底是做什么的?
- 机器学习算法及代码实现--神经网络
- 遗传算法学习材料