- 浏览: 1132354 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (138)
- JAVA基础 (22)
- Spring (6)
- 设计模式 (2)
- JDK源码 (3)
- java-功能组件 (4)
- 游戏项目 (2)
- linux (13)
- Oracle (2)
- struts (1)
- 字符集 (8)
- HTTP协议 (2)
- java-网络通信 (1)
- 工具软件推荐 (2)
- tomcat (1)
- java-容器框架 (2)
- java-IO框架 (2)
- java-多线程框架 (4)
- java-NIO框架 (0)
- jquery (2)
- 工具使用 (12)
- 加密解密 (1)
- redis (2)
- maven (2)
- svn (1)
- eclipse (1)
- mysql (11)
- 我的收藏 (1)
- JAVA进阶 (26)
- 运维 (3)
- protocol buffer (1)
- 优秀博主 (1)
- nginx (1)
- 算法 (2)
- 故障排查 (4)
- 粤语歌曲 (6)
- 生活总结 (6)
- 高并发 (4)
- 语言训练 (1)
- 读书笔记 (5)
- 诗歌 (1)
- tomcat源码学习 (1)
- 软件词汇 (1)
- git (1)
最新评论
-
ryuhi:
一个是来源source,一个是来源方序列号seq这两个数据要怎 ...
高并发的核心技术-幂等的实现方案 -
xuezhongyu01:
无量 写道Master-Gao 写道理论感觉还行,可以代码我还 ...
高并发的核心技术-幂等的实现方案 -
无量:
Master-Gao 写道理论感觉还行,可以代码我还是不会写。 ...
高并发的核心技术-幂等的实现方案 -
phil_jing:
@RequestParam 默认 true
SpringMVC注解@RequestParam全面解析 -
aguai0:
aguai0 写道第五条里的如果要获取任务执行结果,用Comp ...
JAVA进阶----ThreadPoolExecutor机制
static修饰的,在类加载的过程中就被初始化,并且在内存中只维护一份,可以当成全局变量全局方法
1、static修饰变量:
####static修饰成员变量(也就是类的属性),代表类级拥有的,在内存中只有一份,相当于C中的全局变量,由这个类产生的所有实例都公用这份变量,这个变量由类和所有实例共同维护,由于要共同维护,一般static修饰的成员变量都是public的访问控制符来修饰:
使用:类名.静态成员变量名或者实例名.静态成员变量名
优点:
*可以不用创建实例就可以调用,方便
*内存中只有一份,在某些情况下,需要这种情况
*在类加载的时候就被初始化,常驻内存中,调用快捷方便。类名.静态变量名
用处:
*静态变量适合全局变量的定义
####static修饰局部变量,也就是函数中定义的静态变量,答曰:不可以
2、static修饰方法
####静态方法跟静态变量一样是类级共有的,在类第一次加载的时候被加载到内存中,直接用类名.静态方法名来调用,实例也可以调用
静态方法调用问题:
静态方法只能调用本类中的静态方法和静态变量,静态方法也可以调用其他类中的静态方法和new出来的方法
非静态方法,既可以调用本来中的任何方法,也可以调用其他类中的任何方法
*用处
静态方法常用做工具方法的定义
静态方法构造单例模式
*缺点
静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生。
3、静态代码块
静态代码段,在类第一次被加载的时候自动执行,且只执行一次,常用来初始化类的某些属性,或者做某些初始化的事情,静态方法也是在类第一次加载的时候被加载,不过它只有在北调用时,才被执行
4、静态内部类
1、static修饰变量:
####static修饰成员变量(也就是类的属性),代表类级拥有的,在内存中只有一份,相当于C中的全局变量,由这个类产生的所有实例都公用这份变量,这个变量由类和所有实例共同维护,由于要共同维护,一般static修饰的成员变量都是public的访问控制符来修饰:
使用:类名.静态成员变量名或者实例名.静态成员变量名
package com.out.test; class Student { public static int a; public int b; } public class Test { public static void main(String[] args) { //静态成员变量使用 Student.a = 3; System.out.println(Student.a); //输出3 Student s = new Student(); System.out.println(s.a); //输出3 s.a = 4; System.out.println(Student.a); //输出4 System.out.println(s.a); //输出4 //普通成员变量使用 Student s1 = new Student(); Student s2 = new Student(); //Student.b = 5; //错误不可以,这么使用 s1.b = 5; s2.b = 6; //s1和s2各自维护自己的成员变量,在内存中各有自己的一份,而静态成员变量在内存中只有一份, //类和它的实例们共同来使用和维护 System.out.println(s1.b); //输出5 System.out.println(s2.b); //输出6 } }
优点:
*可以不用创建实例就可以调用,方便
*内存中只有一份,在某些情况下,需要这种情况
*在类加载的时候就被初始化,常驻内存中,调用快捷方便。类名.静态变量名
用处:
*静态变量适合全局变量的定义
####static修饰局部变量,也就是函数中定义的静态变量,答曰:不可以
package com.out.test; public class Test { public void print() { static String str = "abc";//编译报错,static不可以修饰局部变量,final可以 } }
2、static修饰方法
####静态方法跟静态变量一样是类级共有的,在类第一次加载的时候被加载到内存中,直接用类名.静态方法名来调用,实例也可以调用
静态方法调用问题:
静态方法只能调用本类中的静态方法和静态变量,静态方法也可以调用其他类中的静态方法和new出来的方法
非静态方法,既可以调用本来中的任何方法,也可以调用其他类中的任何方法
package com.out.test; class Student { public void st1() { } public static void st2() { } } public class Test { public static void print() { } public void copy() { } public void test() { //非静态方法调用 //同一个类中,非静态方法可以调用同一个类中的静态方法也可以调用非静态方法 print(); copy(); //非同一个类中,非静态方法既可以调用,静态的也可以new出来调用非静态的 Student.st2(); Student s = new Student(); s.st1(); } public static void fun() { //静态方法调用 //同一个类中,静态方法只能调用静态方法 print(); //可以调用 copy(); //不可以调用 //非同一类中,可以直接调用其他类中的静态方法,也可以new出来调用其他类中的非静态方法 Student.st2(); Student s = new Student(); s.st1(); } }
*用处
静态方法常用做工具方法的定义
静态方法构造单例模式
*缺点
静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生。
3、静态代码块
静态代码段,在类第一次被加载的时候自动执行,且只执行一次,常用来初始化类的某些属性,或者做某些初始化的事情,静态方法也是在类第一次加载的时候被加载,不过它只有在北调用时,才被执行
static { //要初始化的操作 }
4、静态内部类
发表评论
-
temp
2019-05-19 23:40 6414. 终端执行命令ssh-keygen -t rs ... -
UML类图关系详解
2017-10-24 19:07 1626一、背景介绍 UML类图的关系,或者说面向对象 ... -
Java线程Dump分析工具--jstack
2017-04-18 11:27 2441Java线程Dump分析工具--jstack (转htt ... -
jdk-源码中的一些坑
2017-02-13 15:17 1162jdk-源码中的一些坑 1. Runnable接口的命名简直 ... -
内存溢出和内存泄露的区别
2016-11-15 20:12 4032内存泄漏(Memory Leak) 1. 概念: 指你用在C语 ... -
System.getProperty()获取tomcat自定义变量
2016-07-26 15:26 2123System.getProperty()获取tomcat自定义 ... -
Java类初始化顺序
2016-05-04 17:24 1830package com.tongbanjie.trade.te ... -
Rpc转
2016-03-27 22:48 970RPC框架几行代码就够了 博客分类: Java ... -
YY淘宝商品数据库设计(转)
2016-03-08 20:27 2693http://www.cnblogs.com/mmmj ... -
apache commons工具类简介
2015-07-27 14:02 5829一、Commons BeanUtils 说明:针对Bean的一 ... -
java获取客户端ip
2015-06-17 14:35 1606转:http://www.cnblogs.com/ITtan ... -
递归计算树结构当前节点包含多少级
2015-04-15 19:37 3839今天一个同事做,可变更目录结构时,遇到的计算当前节点包括节点下 ... -
JAVA基础----解决get方法传递URL参数中文乱码问题
2015-01-23 15:45 5688[转]解决get方法传递URL参数中文乱码问题 ... -
JAVA基础----JDK和JRE的区别
2014-10-17 09:47 2213JDK和JRE的区别(转) JRE -- java runti ... -
JAVA基础----ThreadLocal正确理解(转)
2014-09-02 11:15 1572http://www.iteye.com/topic/10 ... -
JAVA基础----网络通信之UDP通信
2014-04-15 20:09 4002java UDP通信的实现,代码如下 1、简单的通信 pack ... -
JAVA基础----Calendar类和GregorianCalendar
2014-03-11 19:01 8999Calendar日期处理类,用来处理日期的设值,获取相应的年, ... -
JAVA基础----DateFormat和SimpleDateFormat对象
2014-03-10 23:29 1543DateFormat和SimpleDateFormat类,是操 ... -
JAVA基础----java中final和static关键字的理解
2014-03-01 16:35 15051、final最终的,由final修饰的变量,只能被初始化一次 ... -
JAVA基础----java死锁的一个例子
2014-02-19 23:39 1576java的一个死锁的例子 package com.out.te ...
相关推荐
理解Java中static关键字的含义和作用。 掌握静态成员变量和静态方法的定义和使用方法。 了解静态成员和实例成员之间的区别。 熟悉使用静态代码块和静态内部类的场景和注意事项。 阅读建议: 建议读者在阅读前具备...
java中的static关键字的作用及应用场景
面向对象基础-static关键字
计算机后端-Java-Java核心基础-第15章 面向对象07 05. static关键字的引入.avi
细说Java中的static关键字声明的变量、方法、静态块
讲述java中static的关键字的作用
18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static...
Java面向对象(高级)-- static关键字的使用
static关键字详解: 内容摘要: 一、static关键字定义属性 二、static属性与非static属性还有一个最大的区别,所有的非static属性必须产生实例化对象之后才可以访问,但是static属性不受实例化对象的控制,也就是 说...
2023-04-06-项目笔记-第一阶段- 6 注释 7.选择语句 7.1选择语句的使用 7.1选择语句的使用1 8.循环语句 8.1while循环的实例 9.函数 9.1函数的使用 10.... 常见关键字 12.1关键字 typedef 12.2 关键字static
关键字Static就是为了满足上面提到的两种特殊情况而诞生的。当某一个变量或方法被声明为Static的时候,这个变量或方法就不再和任何一个类的实例对象绑定,即便没有创建任何一个实例对象,也可以方位Static的变量或者...
libcurl-vc15-x86-release-static-ssl-static-zlib-static-ipv6-sspi,该支持的全部都支持了,最新版,正使用中!回馈csdn!
增加default方法:又叫做接口扩展方法,即在不破坏java现有实现架构的情况下能往接口里增加新方法, default关键字可以给接口添加一个非抽象的方法实现,子类可以直接调用! 如果想对接口增加一个新方法,那么需要对...
appium依赖之一 注:使用时需要并添加到$PATH路径,添加可执行属性。
ffmpeg-20170921-183fd30-win64-static.zip
ffmpeg window端软件,在用opencv的时候保存的视频会非常大,常常有1G,通过使用ffmpeg压缩,可以将1G的视频压缩到1M以内,如果经常和视频打交道,ffmpeg是一个必会软件。另外我也简单总结了如何在linux中使用ffmpeg...
C/C++ 嵌入式 一些关键字: volatile关键字 Const关键字 static关键字 mutable 关键字
在Java中变量可以分为成员变量和局部变量 成员变量 通常每个类中成员变量可以分为 类变量(static修饰的变量) 以及 实例变量 针对这两种类型的变量赋初始值的时机是不同的。 类变量可以再声明变量的时候直接赋...
计算机后端-Java-Java核心基础-第15章 面向对象07 09. static修饰方法.avi
计算机后端-Java-Java核心基础-第15章 面向对象07 02. 复习:static.avi