【java】static的应用场景
定义静态原则:
什么时候定义静态变量:
对象中出现共享数据时,该数据被static所修饰。如国家
什么时候定义静态方法:
当功能内部没有访问到非静态数据时,该方法可以定义成静态的
工具类的例子:
/**
这是一个可以对两个int型进行加和减的方法集合
@author 张三
@version V1.0
*/
public class Tools
{
/**
构造函数
*/
private Tools()//为了强制让其他程序进行类调用,不建立对象,可以让构造函数私有化。
{
}
/**
对两个数字进行加法运算。
@param x 接受一个int型数字
@param y 接受一个int型数字
@return 返回一个int数字
*/
public static int add(int x,int y)
{
return x+y;
} /**
对两个数字进行减法运算。
@param x 接受一个int型数字
@param y 接受一个int型数字
@return 返回一个int数字
*/
public static int minus(int x,int y)
{
return x-y;
}
}
我们把共性的方法进行抽取封装,作为工具类Tools,工具类一般用static修饰,直接用类调用。这样可以节省内存空间。但是其他程序仍可以建立对象,为了强制让其他程序进行类调用,不建立对象,可以让构造函数私有化。封装的工具类若和调用程序不再一个目录会报错,需要我们set classpath。如set classpath=.;D:\mycalss(一定要加上“.”)。
生成接口文档:
javadoc会对/***/自动生成接口文档,详细的后续在介绍。注意一点是,当生成文档时,工具类Tools一定要用public修饰,否则会报错,如下图所示:
JDK API文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
【java】static的应用场景的更多相关文章
- Java static 的一两点使用
这篇文章是关于Java static关键字的使用,主要会介绍以下的内容: static 的概念 static的各种应用 总结 static 是什么 static 顾名思义是静态的意思.与this相对, ...
- java static 变量,和方法从属于类
第36集 java static 变量,和方法从属于类 可以用类来直接调用static属性和方法 static方法不能调用非静态的属性和方法,反之可以 new产生的对象,不包括static 属性和方法
- [转]java static final 初始化
http://tanbing1986411.blog.163.com/blog/static/7259798220103610224434/ java static final 初始化 1.stati ...
- Java static修饰符
Java static修饰符 static修饰符是静态修饰符,大家写Java第一次接触static就是主函数中的pubic static void main的声明了. 那么static有什么用?本文来 ...
- Java基础(六) static五大应用场景
static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.上一个章节我们讲了final关键字的原理及用法,本 ...
- java中final与static的使用场景
final Java关键词final有“无法改变”的含义,主要用于修饰非抽象类.方法或者变量.使用时注意: final类不能被继承,没有子类,final类中的方法默认是final的. final方法不 ...
- ***JAVA多线程的应用场景和应用目的举例
多线程使用的主要目的在于: 1.吞吐量:你做WEB,容器帮你做了多线程,但是他只能帮你做请求层面的.简单的说,可能就是一个请求一个线程.或多个请求一个线程.如果是单线程,那同时只能处理一个用户的请求. ...
- java Static的使用
static是一个静态修饰符,用于修饰成员(成员变量,成员函数).<thinking in java>对staic的使用场景有下面2种定义:“一种情形是只想用一个存储区域来保存一个特定的数 ...
- java模式及其应用场景
最经典的java 23种设计模式及具体例子(转发) 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容 ...
随机推荐
- [JavaScript] 给input标签传值
body: <input type="text" style="width: 240px;" name="orgname" id=&q ...
- Http头:Expires,Cache-Control,Last-Modified,ETag
Expires:过期时间 el:Expirse:Fri,30 Oct 1998 14:19:41 Cache-Control:缓存控制 el:Cache-Contro ...
- C++获取网络数据
1. 获取数据 工具libcurl libcurl主要功能就是用不同的协议连接和沟通不同的服务器.libcurl当前支持http, https, ftp, gopher, telnet, dict, ...
- Go used as value问题
练习Go变参时遇到一个报错:used as value 代码如下: // 错误代码 func myfunc(arg ...int) { for _, n := range arg { fmt.Prin ...
- jvm内存溢出问题
Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 J ...
- weinre 远程调试 安装 配置
1.第一种方法:安装:npm install -g weinre 2.第一种方法:开启本地监听服务器(修改端口,默认端口是8080):在cmd中运行: weinre --httpPort 8101 - ...
- RabbitMQ使用介绍及实例
消息列队不做过多解释了,直接讲讲rabbitmq的基本概念和路由模式. 一.安装及基本概念 rabbitmq是基于erlang编写的,所以安装rabbitmq之前需要安装erlang的环境,配置环境变 ...
- json:java中前台向后台传对象数据
前台传入的是一个json类型的数据,如何在后台解析成想要的数据类型? 例如: 后台获取了前台一个string类型的数据@RequestParam(value = "forceUpgradeT ...
- python 图像转矩阵,矩阵转图像
1.图像转换为矩阵 matrix = numpy.asarray(image) Help on function asarray in module numpy.core.numeric: asarr ...
- Java语法基础学习DayThirteen(枚举类和注解)
一.枚举类 1.概述:即一个类中只能有有限个对象,若只有一个对象,则可以作为单例模式的一种实现. 2.自定义枚举类(JDK1.5以前这么做) //枚举类 class Season{ //1.提供类的属 ...