3.28随笔

本文详细阐述了Java中内存的栈、堆、数据区、代码区的分配与作用,介绍了类的公共与非公共特性,以及如何在不同场景下使用类与方法。进一步探讨了方法的重载原理,成员变量与静态变量的区别,静态方法的加载过程,并通过properties类实例展示了其在配置文件管理中的应用。同时,文章还强调了成员变量与静态变量的访问方式,以及如何正确处理引用与赋值的问题。

一、内存分析

栈  用于存放局部变量 局部变量的作用范围最小 如:for循环中的i

堆 用于new对象   随着对象的产生而产生 随着对象的消失而消失

数据区 用于存放静态变量 常量    常驻内存

代码区 用于存放 方法的定义

二、类的常识

1.加public修饰符的类 即公共类可以跨包使用(使用方法同 import lovo.com.cn),但公共类的类名必须与文件名一致

2.不加public修饰符的类 仅限包内使用,优点是隐藏信息,类名可以不与文件名一致

例如atm机里的properties 应定义为private properties a=new properties();因为它只在本类中有用

3.同包的类无需再导入可直接使用,java.lang中的system、string类无需导入可直接使用

4.我们平常用的 public static void main(String[ ] args){}中的(String[] args)意思是有参无返回 参数为字符串类型的数组 args只是一个形参 可以随意命名

比如类是 test  那么就可以运行 java test str1 str2的方式来运行

三、方法的重载

1.定义:在同一个类中,有多个同名的方法,就是方法的重载;

2.重载的方法,区分方式是参数列表不同,与返回值的类型无关;

3.调用方法是,根据实参的值来决定调用哪个重载方法

四、成员变量、静态变量(类变量)、成员方法、静态方法

1.成员变量只能通过对象.(读作的)的方式访问 而静态变量除了通过对象.方式访问 还可以通过类名.的方式访问

2.成员方法与静态方法的访问方式同上;

3.静态方法的加载在对象之前,所以静态方法不能直接访问成员变量和成员方法;

五、properties的使用:

1.导入:import java.util.properties;

(附带导入:import java.io.FileReader;
import java.io.FileWriter;)

2.声明:properties a=new propertie();

3.使用:

(1)用properties对象载入文件读取器:

a.load(new Filereader("user.txt"));

(2)用properties对象获取键对应的值:

a.getproperties("name");

(3)用properties对象设置键对应的新的值:

a.setproperties("name",str1);

(4)用properties对象将新的值存入文件:

a.store(new Filewriter("user.txt"),null);

(5)properties和cn.txt/en.txt联用可以用来做汉化包

补充:引用类 如数组 类 ,如果相互之间赋值,赋值的是内存地址(也就是指向)

要使用一个类  如student类 需要先声明 再初始化(new分配空间)  最后赋值

在初始化之前 student声明的对象是空指向的 即报错的 nullpointer  需要初始化之后 才会指向空间  

此时空间里的成员变量为默认值 比如string类型成员变量 默认值是null (这个null是指无具体值不同于前面的null无指向空间) int类型成员变量默认值是0 已可以进行调用

 

形参与实参

在有参方法中,形参一定是变量,实参可以是常量也可以是变量

在有参方法运行之前 会先将实参赋值给实参,根据赋值的顺序不同结果会有所不同

形参的名字 只要类型一致 位置一致 形参名可以任意取名

如果赋给的是引用地址 那么相当于将一块空间的使用权交予形参

形参可以使用这块空间 也可以新new一块空间 但也只能拥有一块空间

当一块空间没有被任何引用时 那么就会开启垃圾回收机制

 

转载于:https://www.cnblogs.com/zoujuns/p/5330753.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值