java核心技术卷_java核心技术卷1(第4章)

一、全局变量和局部变量

java的全局变量,默认会给初始化值,如果是引用变量,初始化值是null,如果是基本数据类型,数值类型的初始化值为0或者0.0,如果是Char,初始化值为‘’空字符

java的局部变量,默认需要给局部变量初始化值,否则会报错,java不会给出默认值

二、方法,参数,静态域,final (方法参数传递都是一个copy拷贝)

1.final:final的实例域变量,初始化后,不可修改

2.静态域变量,它属于类,不属于方法,可以通过类名调用。

3.实例域,每个实例都会对应有一个实例域变量

4.参数,java偏向于按值调用,值参数,方法调用后,参数值不变。(可以理解为传递给方法的参数值,是一个copy拷贝,尽管在方法中改变了值,但原来但参数变量值仍旧不变)

三、java的参数传递是按值传递的

•一个方法不能修改一个基本数据类型的参数 (即数值型或布尔型)。

•一个方法可以改变一个对象参数的状态。

•一个方法不能让对象参数引用一个新的对象。

四、对象构造 (重载,重写)

1.重载:方法名相同,参数不同

2.重写:方法名相同,参数相同,一般继承父类或者接口,重写的方法就是重写,即指实际调用

3.构造方法,如果没有给域初始化,会默认给初始化值

4.默认构造方法:仅当类没有提供任何构造器的时候, 系统才会提供一个默认的构造器(变量会默认初始值)

五、代码执行顺序

1.静态初始化块

2.静态变量

3.对象初始化块

4.对象构造

六、finalize

可以为任何一个类添加finalize方法。finalize方法在将在垃圾回收之前调用。

1.java可以通过以下方式在垃圾回收之前调用方法

a:java有一个方法:System.runFinalizersOnExit(true);能够确保finalizer方法在java关闭之前调用   此方法不安全,不建议使用

b:  Runtime.addShutdownHook();方法可以替代System.runFinalizersOnExit(true);

2.如果需要在使用后立即关闭,可以通过close方法。如IO流的使用或者文件的操作,需要在使用后就关闭,需要手动调用close方法。

七、类路径

1.类路径必须与包名匹配

2.使类能够被多个程序共享,需要做到如下几点

a:把类放到一个目录中,如/home/user/classdir ,这是类的基目录

b:将jar文件放在一个目录,如:/home/user/archives

c:设置类路径,classpath

3.类路径包含:

a:基目录

b:.当前目录

c:jar文件 /home/user/archive

4.设置类路径

java -classpath /home/user/classdir:.:/home/user/archive.jar MyProg

java -classpath c:\classdir;.;c:\archivers\archives.jar MyProg

八、注释 如果需要,可往注释的案例网址查看

http://docs.oracle.com/javase/8/docs/guides/javadoc/doclet/overview.html

的联机文档

九、类的设计技巧

1.保证数据使用 多使用private

2.对数据进行初始化 例如: private int age = 18;

3.不要在类中使用过多的基本数据类型 如果需要,可以封装一个类用来代表这基本数据类型,如Address类,可以包含地址,街道等

4.将职责过多的类进行分解

5.尽量使用不可变类

6.不是所有的域都需要获取和修改的访问器和更改器

7.类和方法名,要故名思义,能一眼读懂,代码整洁之道所提倡的就是这个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值