Java知识点拾遗1
来源:互联网 发布:memcached java 编辑:程序博客网 时间:2024/05/17 04:58
基本成员默认值
若一个类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值。但局部变量(非成员变量)则是默认随机取值。
Static关键字
使用场景:
只想为某特定域分配单一的存储空间,而不去考虑创建多少个对象
Static 字段:不论创建多少个对象,这些对象都共有一个Static字段都共用一份存储空间
Static字段可以通过类名引用,也可通过对象名引用
希望某个方法不与包含它的类的任何对象关联在一起。
- static方法:再不创建任何对象的情况下就可以调用它,通过类名引用。(也能用对象名调用)该方法访问的方法和域也必须是static的。
注释和嵌入式文档
我们在编写代码的时候同时需要编写代码文档,来记录所写代码的用途等,当后续对代码重构或修改时会方便很多。Java使用Javadoc专门来提取注释,管理注释文档。它能自动查找程序中的特殊注释标签,同时将其毗邻的类名或方法名抽取出来。它的输出是一个HTML文件。通过编写维护单一的源文件,我们就能自动生成较高质量的程序文档。
注释文档
共有三种类型的注释文档,分别对应于注释位置后的三种元素:类、域、方法。即类注释正好位于类定义之前,域注释正好位于域定义之前,而方法注释也正好位于方法定义之前。如下所示
//: test/Documentation.java/** A class comment */public class Documentation{ /** A field comment */ public int hello; /** A method comment */ public void world(){}}
Javadoc只能为public和protected成员进行文档注释,其他访问域的方法注释会被忽略。通过IDE的提供的javadoc工具对上述代码自动生成HTML文档,如下图
独立文档标签
独立文档标签是一些以@字符开头的命令,且必须出现在注释行最前面。这里的注释格式必须是以/ * * 开始,以 * /结束,其他形式无效。下面给出常用标签示例
具体应用示例如下:
/** * Display how javadoc generate code doc * @author King * @version 1.0.0 * @see test.Documentation */public class Documentation2 { /** * @param i input of function * @return return value of function */ public int helloworld(float i){ return 0; }}
使用javadoc工具生成文档页如下:
测试对象等价性
一般使用==和!=来判定基本数据类型的等价关系 ,当判定两个对象的等价性的时候,==关系操作符比较的是两个对象的引用,如下所示:
Integer n1 = new Integer(22);Integer n2 = new Integer(22);System.out.println(n1 == n2);
这里的输出结果是false,虽然两个Integer的内容是一样的,但是它们是两个完全不同的对象,当比较其引用时,自然不同。当需要比较两个对象的实际内容是否相同时,需要使用所有对象都适用的方法equals():
Integer n1 = new Integer(22);Integer n2 = new Integer(22);System.out.println(n1.equals(n2));
这里的输出结果是true。大部分java类库都实现了equals()方法。当我们自己创建对象时,需要手动覆盖equals()方法,否则它默认比较的是两个对象的引用。
final关键字
通常final关键字的意思是“不可改变的”,又分为三种情况:数据、方法、类
final数据
使用场景:
- 一个永不改变的编译时常量
- 一个在运行时被初始化的值,不希望被改变
通常对基本数据类型使用。对某方法传入final参数则指定该参数为只读,不可被修改
final方法
使用场景:
- 将方法锁定,以防任何继承类修改它的含义
- 确保在继承中使方法行为保持不变,而且不会被覆盖
类中所有的private 方法都是默认为final类型的。
final类
使用场景
- 出于安全考虑,不允许任何人继承该类
- 该类的设计永不需要任何变动
final类中所有方法默认为final类型,而域则可以根据个人意愿选择。
- Java知识点拾遗1
- Java知识点拾遗2-内部类
- Java拾遗1
- JAVA拾遗1
- JAVA拾遗1
- 知识点拾遗:UDP传输数据最简单的java实现
- Java知识点拾遗3-类型信息和泛型
- linux 知识点拾遗
- C51知识点拾遗
- 网络知识点拾遗
- 汇编语言:知识点拾遗
- C基本知识点拾遗
- [ROS]知识点拾遗
- 网络知识点拾遗
- JAVA SE 拾遗(1)
- java拾遗
- Java 拾遗
- Java拾遗
- 5-4 BCD解密
- Linux下使用百度云盘
- 同一个进程下的线程共享哪些资源
- C++primer学习:拷贝控制(5)
- 数据结构基础 0.前言
- Java知识点拾遗1
- 5-5 表格输出
- handler机制的原理
- 信号与槽的原理
- java学习之浅谈多线程1
- linux的awk命令按列解析学习总结
- 怎么把excel中的数据导入数据库
- 形上之学
- oracle 创建表空间,用户