JAVA学习笔记(1)

 观看尚学堂马士兵老师的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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值