Java学习笔记(注释、对象初始化过程、单例模式)
来源:互联网 发布:netsh绑定mac 编辑:程序博客网 时间:2024/06/06 16:32
面向对象
9.帮助文档的制作
9.1注释
- 原则:
1、注释形式统一
在整个应用程序中,使用具有一致的标点和结构的样式来构造注释。如果在其它项目中发现它们的注释规范与这份文档不同,按照这份规范写代码,不要试图在既成的规范系统中引入新的规范。
2、注释内容准确简洁
内容要简单、明了、含义准确,防止注释的多义性,错误的注释不但无益反而有害。
- 注释格式:
1. 单行(single-line)注释:“//……”
2. 块(block)注释:“/……/”
3. 文档注释:“/*……/”
P.S. 注释引用@shiyuezhong: java代码注释规范
9.2 eclipse生成文档的方法
使用eclipse生成文档(javadoc)主要有三种方法:
在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步。
在Javadoc Generation对话框中有两个地方要注意的:
javadoc command:应该选择jdk的bin/javadoc.exe
destination:为生成文档的保存路径,可自由选择。
按finish(完成)提交即可开始生成文档。用菜单选择:File->Export(文件->导出),
剩下的步骤和第一种方法是一样的。选中要生成文档的项目,然后用菜单选择,
Project->Generate Javadoc直接进入Javadoc Generation对话框,剩余的步骤就和第一种方法在Javadoc Generation对话框开始是一样的。
10.对象的初始化过程
class Person{ private String name="张某"; private int age; private static String country = "cn"; Person(String name, int age){ this.age = age; this.name = name; } { System.out.println(name+".."+age); } public void setName(String name){ this.name = name; } public void speak(){ System.out.println(this.name+"..."+this.age); } public static void showCountry(){ System.out.println("country"+country); }}class PersonDemo{ public static void main(String[] args){ Person p = new Person("张三",20); p.setName("李四"); }}
Person p = new Person(“张三”,20);
先将Person.class文件通过jvm从硬盘加载入内存空间,并开辟堆内存空间;
- 执行该类中static代码块,如果有的话,给Person.class类进行初始化;
- 栈内存中创建一个main,p变量,堆内存中创建一个new Person()并分配地址;
- 在堆内存创建对象特有属性name和age,并默认赋予初始化值(name=null,age=0),接着对这两属性显式初始化(name=”张某”);
- 对对象进行构造代码块初始化;
- 对对象进行对应的构造函数初始化(name=”张三”,age=20);
将new Person()内存地址赋给栈内存中p变量。
p.setName(“李四”);
ps:非静态变量或者功能前一般省略this,静态变量或功能前省略类名;
11.单例模式
单例设计模式:解决一个类在内存只存在一个对象。
11.1 为何保证对象唯一:
- 为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象;
- 还为让其他程序可以访问到该对象,只好在本类中,自定义一个对象;
- 为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
11.2 如何实现:
- 将构造函数私有化;
- 在类中创建一个本类对象;
- 提供一个方法可以获取到该对象。
11.3 代码形式:
a)饿汉式:先初始化对象
class Single{
private Single(){};//将构造函数私有化;private static Single s = new Single();//在类中创建一个本类对象;public Single getInstance(){ return s;//提供一个方法可以获取到该对象}
}
class SingleDemo{
public static void main(String[] args){
Single ss = single.getInstance();
Single s1 = single.getInstance();
}
}
- b)懒汉式:对象在方法被调用时才初始化,即对象的延时加载
class Single{
private Single(){};//将构造函数私有化;
private static Single s = null;
public Single getInstance()
{
if(s==null)
s = new Single();
return s;//提供一个方法可以获取到该对象
}
}
class SingleDemo{ public static void main(String[] args){ Single ss = single.getInstance(); Single s1 = single.getInstance(); }}
说明:懒汉式的Single一进内存,就建好了对象;饿汉式,Single类进内存,对象还没存在,只有调用getInstance方法时,才建立对象。但应用时建议采用饿汉式
例:
class Student{ private int age; private Student(){};//将构造函数私有化; private static Student s = new Student();//在类中创建一个本类对象; public Student getStudent() { return s;//提供一个方法可以获取到该对象 } public void setAge(int age) { this.age = age; } public void getAge(int age) { return age; }} class SingleDemo{ public static void main(String[] args){ Student s1 = Student.getStudent(); Student s2 = Student.getStudent(); } }
- Java学习笔记(注释、对象初始化过程、单例模式)
- 学习笔记---对象初始化过程
- java学习笔记(单例模式)
- Java重修之路(七)面向对象之静态,主函数,Doc文档,静态代码块,对象初始化过程,单例设计模式
- java学习笔记_类建立对象初始化过程分析
- java 设计模式 学习笔记(16) 单例模式
- 设计模式学习笔记---单例模式(Java版)
- 黑马程序员--Java学习笔记之面向对象思想(单例模式详解、匿名对象、静态、final)
- 黑马程序员——第6天——(面向对象)Static关键字,对象的初始化过程,对象调用成员过程,单例设计模式
- 黑马程序员——java第六天:面向对象(静态、帮助文档、对象初始化过程、单例)
- Java 回顾笔记_对象初始化过程
- Java学习笔记之单例模式
- java单例模式 - 学习笔记
- Java学习笔记之单例模式
- Java学习笔记之单例模式
- Java学习笔记-单例模式等
- java单例模式学习笔记
- Java学习笔记--单例模式
- READING NOTE: Pooling the Convolutional Layers in Deep ConvNets for Action Recognition
- 多个规格、品牌,拼起来 "品牌1和品牌2和",去最后一个连接字符
- 《实用Common Lisp编程》第二章 周而复始: REPL 简介
- 杭电ACM5543(01背包)
- 马踏棋盘图形界面版
- Java学习笔记(注释、对象初始化过程、单例模式)
- 用java语言编写进制转换
- redis 哈希表(Hash)
- hdu 2841
- Redis与Memcached的区别
- HDU 5534 Partial Tree (变形完全背包 好题)
- CodeForces 44H - Phone Number-dp
- 缓冲区溢出攻击实验(一)
- spring源码目录模块的作用