JAVA学习笔记(1)

来源:互联网 发布:房贷利率折扣变化知乎 编辑:程序博客网 时间:2024/04/30 01:12

 观看尚学堂马士兵老师的JAVA课程的笔记

内存分析  局部变量和成员变量  类  面向对象思想  引用

一、内存的四个区域

不同的操作系统每个程序内存分的区域不一样,但主要是四个:

1.代码区:用来存放代码,每次找到代码区的 main()方法开始执行

2.数据区:存放静态变量和字符串常量

2.栈:存放局部变量  

3.堆:动态申请内存(所有new出来的东西都在堆里面)

 

二、局部变量和成员变量

Java纯面向对象,因此没有全局变量的概念,在方法和语句内部声明的是局部变量(出了大括号就失效了),在类的大括号内声明的是成员变量,在类外不能声明。

 

三、类

Java源文件基本的组成部分是类,一个源文件之中只能有一个public的类,并且public的类名必须和文件名相同,但其他类的数量不限。每个类有若干属性(成员变量)和方法,对象是类的实例,对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。所有对象共享该类的方法。


四、类之间的关系

1.关联关系:有一定关系,但是不很紧密(通常代码上表现为一个类的对象是另一个类的方法的参数之一)

2.继承关系:XX是一种XX(比如学生是人,学生类继承人类,同理男学生类继承学生类)

3.聚合关系:XXXX的一部分(比如队长类和队员类是球队类的一部分)

4.实现关系:父类应该具有某种方法,但是只能让子类去实现。(涉及到接口)

 

五、面向对象做设计的指导性思想

1.考虑这个问题域里面有那些个类、那些个对象?

2.考虑这些类、这些对象有哪些个属性?

3.然后考虑它们之间的关系,定义它们之间的方法。

 

六、各种类型声明时的内存分配:引用

1.基本类型:int i=0;

内存中有一块空间名字叫i,里面的值是0

2.引用类型:除了基本类型剩下的都是引用类型

引用类型占用两块内存,例如下图中String s;”执行的时候会首先分配一块内存s(可能在堆内存,也可能在其他内存),内存中的值为NULL,然后执行“s=new String(“hello world!”)”后,系统会在堆内存中再次分配一块内存,用来存放s的各种信息。然后s内存中的值从NULL变为所分配堆内存的首地址。

对象一定存在堆内存,因为是运行期间才分配内存(new出来的)。 




0 0