- 浏览: 1148413 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (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 7484. 终端执行命令ssh-keygen -t rs ... -
UML类图关系详解
2017-10-24 19:07 1690一、背景介绍 UML类图的关系,或者说面向对象 ... -
Java线程Dump分析工具--jstack
2017-04-18 11:27 2539Java线程Dump分析工具--jstack (转htt ... -
jdk-源码中的一些坑
2017-02-13 15:17 1255jdk-源码中的一些坑 1. Runnable接口的命名简直 ... -
内存溢出和内存泄露的区别
2016-11-15 20:12 4123内存泄漏(Memory Leak) 1. 概念: 指你用在C语 ... -
System.getProperty()获取tomcat自定义变量
2016-07-26 15:26 2232System.getProperty()获取tomcat自定义 ... -
Java类初始化顺序
2016-05-04 17:24 1925package com.tongbanjie.trade.te ... -
Rpc转
2016-03-27 22:48 1038RPC框架几行代码就够了 博客分类: Java ... -
YY淘宝商品数据库设计(转)
2016-03-08 20:27 2770http://www.cnblogs.com/mmmj ... -
apache commons工具类简介
2015-07-27 14:02 5920一、Commons BeanUtils 说明:针对Bean的一 ... -
java获取客户端ip
2015-06-17 14:35 1694转:http://www.cnblogs.com/ITtan ... -
递归计算树结构当前节点包含多少级
2015-04-15 19:37 3924今天一个同事做,可变更目录结构时,遇到的计算当前节点包括节点下 ... -
JAVA基础----解决get方法传递URL参数中文乱码问题
2015-01-23 15:45 5798[转]解决get方法传递URL参数中文乱码问题 ... -
JAVA基础----JDK和JRE的区别
2014-10-17 09:47 2313JDK和JRE的区别(转) JRE -- java runti ... -
JAVA基础----ThreadLocal正确理解(转)
2014-09-02 11:15 1637http://www.iteye.com/topic/10 ... -
JAVA基础----网络通信之UDP通信
2014-04-15 20:09 4074java UDP通信的实现,代码如下 1、简单的通信 pack ... -
JAVA基础----Calendar类和GregorianCalendar
2014-03-11 19:01 9066Calendar日期处理类,用来处理日期的设值,获取相应的年, ... -
JAVA基础----DateFormat和SimpleDateFormat对象
2014-03-10 23:29 1593DateFormat和SimpleDateFormat类,是操 ... -
JAVA基础----java中final和static关键字的理解
2014-03-01 16:35 15721、final最终的,由final修饰的变量,只能被初始化一次 ... -
JAVA基础----java死锁的一个例子
2014-02-19 23:39 1692java的一个死锁的例子 package com.out.te ...
相关推荐
这份“JAVA基础笔记以及关键字整理.rar”压缩包包含了全面的Java基础知识和关键字的详细讲解,对于初学者和有一定经验的开发者来说,都是一个极好的学习和复习资源。 首先,Java的基础知识涵盖了许多方面。包括但不...
以上是对Java关键字的一个全面概述。掌握这些关键字不仅有助于编写出高效、可读性强的代码,还能加深对Java语言特性的理解。值得注意的是,随着Java的发展,新的关键字可能会被引入,旧的关键字也可能被废弃。因此,...
Java中的`static`关键字是一个非常...理解和熟练掌握`static`关键字的用法对于编写高效、可维护的Java代码至关重要。在实际编程中,要根据需求选择合适的时间和地点使用`static`,以避免可能引入的复杂性和潜在的问题。
本文将深入探讨Java中的关键字,并结合"search_keyword12.doc"和"www.pudn.com.txt"这两个文件中的内容,提供更全面的理解。 1. Java关键字分类: - 访问修饰符:如public、private、protected,用于控制类、方法...
以上内容涵盖了从 Java 基础到高级知识的全面介绍,对于希望从零开始学习 Java 的新手来说是一份非常宝贵的资料。通过系统地学习这些知识点,并结合实际项目经验,可以帮助你成为一名合格的 Java 开发者。
通过本文的学习,你能够对Java有一个全面而深刻的理解,并为成为Java编程高手打下坚实的基础。 #### Java的历史与发展 - **创始人与发布时间**:Java是由James Gosling等人于1995年5月23日发布的。 - **版本发展**...
- 关键字:Java的关键字是预定义的,具有特殊含义的标识符,如`public`, `private`, `protected`, `final`, `static`, `void`等,了解并能熟练运用这些关键字是编写高效代码的关键。 - 面向对象:Java是一种面向...
本章节全面介绍了Java中数组的基础知识,包括一维数组与多维数组的声明、创建、初始化、访问元素、复制和排序等关键操作。同时,还强调了处理数组时可能出现的一些常见问题,如数组越界异常等。通过理论结合实践的...
在"传智播客 刘意-2015年Java基础视频-深入浅出精华版 笔记day01-day27"这套课程中,Java初学者将踏上一段全面而深入的Java编程之旅。刘意老师以其丰富的教学经验,将复杂的Java知识讲解得通俗易懂,旨在帮助学员...
这份"完整版Java全套入门培训课件 Java基础 01-Java概述(共31页)"为初学者提供了一个全面的起点,深入理解Java的核心概念。下面我们将详细探讨其中可能涵盖的知识点。 1. **Java起源与特性** - Java由James ...
通过阅读“Java教程.pdf”,学习者将能够全面了解Java语言的基础知识,并逐步进阶到高级开发技术,为实际项目开发打下坚实基础。无论是对个人技能提升,还是职业发展,深入学习Java都是一个值得投入的选择。
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而闻名...对于初学者来说,这是一份非常全面且实用的学习资料,通过系统学习,可以扎实地掌握Java编程基础,为后续的进阶学习打下坚实的基础。
为了全面理解Java基础知识,我们需要关注以下几个核心领域: 1. **常用API**: - **String与StringBuffer**:String是不可变的,适合字符串常量,而StringBuffer在多线程环境下进行字符串拼接时更安全,效率更高。...
本文将深入探讨Java中的静态块与静态方法,解析它们的区别、联系以及执行顺序,帮助读者更全面地理解`static`关键字在Java中的运用。 ### 静态方法 静态方法是通过`static`关键字声明的,它属于类而不属于类的任何...
- static关键字的意义,静态变量和静态方法的理解。 3. **异常处理** - 异常的分类,如检查型异常和运行时异常。 - `try-catch-finally`语句块的使用,理解异常的抛出和捕获。 - 自定义异常的创建和使用。 - ...
Java-SE 罗召勇的PDF教程是一个适合初学者的Java Standard Edition(Java SE)...通过这个教程,读者将全面了解Java SE的基础知识,逐步掌握编写、编译和运行Java程序的技能,并能深入理解Java的核心概念和编程实践。
根据提供的文件信息,我们可以归纳出一系列关于Java基础知识的关键知识点。以下是对这些知识点的...以上内容覆盖了Java编程语言的基础知识点,从语言特性、标准库介绍到具体编程实践,为学习者提供了全面深入的理解。
这篇文档涵盖了从安装Java开发环境到深入理解各种核心概念的全面内容,是学习Java基础的绝佳资源。 首先,Java的安装至关重要。要开始Java编程,你需要下载Java Development Kit (JDK)。JDK包含了编译Java代码所需...
在面试Java程序员时,了解这些基础知识是至关重要的。以下是一些关键的Java面试知识点: 1. **Java程序的基本结构**: - Java程序的入口点是`main`方法,它位于某个类中,格式为`public static void main(String[]...