修饰符static: 把对象相关的变成类相关的,它可以修饰属性、方法、代码块和内部类
static修饰属性(类变量):
那么这个属性就可以用" 类名.属性名 "来访问,也就是使这个属性成为本类的类变量,为本类对象所共享。
类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文件读入JVM(java虚拟机),这个过程称为类的加载。JVM会通过类路径(CLASSPATH)来找字节码文件。需要的时候才会进行类加载,生成对象时是先加载后构造
类变量,会在加载时自动初始化,初始化规则和实例变量相同。
注意:
类中的实例变量是在创建对象时被初始化的
static修饰的属性,是在类加载时被创建并进行初始化,类加载的过程只进行一次,也就是类变量只会被创建一次。
static修饰方法(静态方法):
会使这个方法成为整个类所公有的方法,可以用" 类名.方法名 "访问。
static修饰的方法,不能直接访问本类中的非静态成员,但本类的非静态方法可以访问本类的静态成员。
在静态方法中不能出现this关键字。
父类中是静态方法,子类中不能覆盖为非静态方法,在符合覆盖规则的前提下,在父子类中,父类中的静态方法可以被子类中的静态方法覆盖,但是没有多态。(在使用对象调用静态方法时其实是调用编译时类型的静态方法)
java中的main方法必须写成static的原因:在类加载时无法创建对象,而静态方法可以不通过对象调用,所以在类加载时就可以通过main方法入口来运行程序。
static修饰初始代码块:
这时这个初始代码块就叫做静态初始代码块,这个代码块只在类加载时被执行一次。
可以用静态初始代码块初始化一个类。
动态初始代码块,写在类体中的“{}”,这个代码块是在生成对象时运行,这种代码块叫动态初始代码块。
单例设计模式:
一个类只允许有一个对象,保证所有引用的对象都是同一个对象。
因为只允许存在一个对象,则不允许在外面直接new出新的对象,所以应该把构造器设为private,。
在类内定义一个公开的静态方法,让使用者进行调用,通过该方法去获得一个实例。
例:
public calss Singleton{
private static Singleton s;
private Singleton(){}
public static Singleton newInstance(){
if ( s == null)
s = new Singleton();
return s;
}
}
修饰符final:不允许改变,可以修饰变量、方法、类
final修饰变量:
被fianl修饰的变量就会变成常量,一旦赋值不能改变
常量可以在初始化时直接赋值,也可以在构造方法里赋值,只能在这两种方法里二选一,不能不为常量赋值
常量不会有默认初始值
锁定栈,使栈中的数据不可以改变
静态常量只能在初始化时直接赋值
final修饰方法:
被final修饰的方法将不能被其子类覆盖,保持方法的稳定不能被覆盖
final修饰类:
被final修饰的类将不能被继承
final类中的方法也都是final的
注意:
final不能用来修饰构造方法
访问权限控制:
private:
本类内部可以访问
不能继承到子类
default:
本类内部可以访问,同包其他类也可以访问。
同包可继承
protected:
本类内部可以访问,不同包的子类也可以访问,同包其他类也可以访问。
能继承到子类
public:
任何地方都可以访问
能继承到子类
发表评论
-
java设计模式
2012-04-20 16:45 1204一、什么是软件设计模式? 设计模式:是一套被反复使用、多数 ... -
Thread 与Runnab le区别
2012-03-02 14:05 1962大家都知道多线程可以 ... -
I/O流与文件
2012-02-06 15:22 830I/O流 字节输入流:InputStream类为所有 ... -
多线程
2012-02-06 15:23 749多线程: 进程与线程: 进程:同一个操作系统中 ... -
布局管理器与事件处理
2012-02-06 15:23 876图形界面: 布局管 ... -
异常与图形界面
2012-02-06 15:23 699异常: 异常的分类 ... -
反射与内部类
2012-02-06 15:24 1026反射: 反射:在运行时动态分析或使用一个类进行工作。 ... -
java集合框架
2012-03-26 19:33 869集合:保存多个其他对象的对象,不能保存简单类型 Li ... -
抽象类与接口
2012-02-05 19:17 728修饰符abstract:抽象 ... -
类与对象
2012-02-05 19:13 681类和对象: 类:主观抽象,是对象的模板,可以实例化对 ... -
java环境配置与基本概念
2012-02-05 19:11 651配置java环境变量: JAVA_HOME:配置JD ... -
运算符、流程控制以及数组
2012-02-05 19:09 776局部变量:不是声明 ... -
登陆界面的开发
2012-01-08 17:36 783在开发登陆界面的前面,我们先须要熟悉和熟练构造方法,构造方法 ... -
类与对象
2012-01-08 16:54 758什么是面向对象的编程? OOP:1、在程序中模拟现实世界中的 ... -
类与对象
2012-01-08 16:50 744什么是面向对象的编程? OOP:1、在程序中模拟现实世界中的 ... -
java中能当做基本数据类型的类String
2012-01-08 15:47 767String是java中的一个类,而不是一种基 ... -
java虚拟机与java跨平台运行的关系
2012-01-08 15:24 9941、现写一个简单的java小程序 publicv cl ... -
java中的关键字
2011-11-19 23:45 779最近系统的学习了java的关键字,我才发现原来不知 ... -
与java第一次亲密的接触
2011-11-01 21:58 760刚开始学JAVA时,只知道不停的看书。从 ...
相关推荐
LS-DYNA关键字说明 LS-DYNA是 Livermore Software Technology(LST)公司开发的一款有限元分析软件,主要用于模拟和分析结构、热、流体、冲击、爆炸等领域的动力学行为。该软件广泛应用于汽车、航空航天、国防、...
例如,`MESH`关键字用于定义几何模型,`MAT`系列关键字用于定义材料特性,`LOAD`关键字用于施加外部载荷,`BC`关键字用于设定边界条件等。 3. **材料模型**:LS-DYNA支持多种复杂的材料模型,如弹性、塑性、粘塑性...
IAR的一些扩展关键字 在深入探讨IAR Systems的嵌入式开发工具中,特别是针对C51编程语言的环境,了解其扩展关键字对于优化代码、提高程序效率以及更好地利用硬件资源至关重要。这些关键字超越了标准C语言的范畴,...
在本篇文章中,我们将深入探讨C语言中的关键字及其用法。C语言作为一种广泛使用的编程语言,在软件开发领域占据着极其重要的地位。理解并熟练掌握C语言的关键字是学习该语言的基础,也是成为一名合格程序员的...
它的语法简洁而强大,包含了一系列的关键字,这些关键字是C语言的核心组成部分,用于定义程序的结构和控制流程。本项目聚焦于“统计C语言关键字频度”,旨在帮助开发者理解和分析C语言源代码中的关键字使用情况。 ...
然而,原始的`RichTextBox`控件并不支持自定义关键字高亮,即无法自动将特定的关键字变色。为了实现这一功能,开发者通常需要借助一些额外的编程技巧或第三方库。本文将详细介绍如何利用`RichTextBox`控件结合XML...
### 关键字驱动测试框架的研究 #### 摘要与背景 随着软件开发周期的加快以及市场需求的变化,软件测试已成为确保软件质量不可或缺的一部分。在这一背景下,自动化测试因其能够提高测试效率、降低人工成本的优势而...
在Unix系统中,搜索含有特定关键字的文件是一项基础但至关重要的任务。这使得用户能够快速定位到包含所需信息的文件,提高工作效率。Unix提供了一系列强大的命令行工具来帮助用户完成这项工作,其中最常用的是`grep`...
在计算机科学和编程领域,多关键字排序是一种处理数据集合的重要技术,它允许我们根据不止一个属性或关键字对数据进行排序。这种排序方法广泛应用于数据库、数据分析、信息检索等多个场景,帮助用户更有效地查找和...
本篇文章将深入探讨如何使用iText库在Java中实现PDF关键字定位。iText是一个强大的PDF处理库,它提供了丰富的API来创建、编辑和读取PDF文档。 首先,我们需要在项目中引入iText库。你提到的`itextpdf-5.5.6.jar`是...
- **关键词匹配**:接着,程序会将输入的关键字与提取的文本进行比较,找出包含关键字的文件。 - **排序与过滤**:如果多个文件包含同一关键字,可以根据关键字出现的频率对结果进行排序;同时,可以设置过滤条件...
SQL关键字是编写查询、更新、删除和管理数据库结构的基础,它们有着严格的语法规定,其中大小写的规范就是其中之一。在某些情况下,为了代码的可读性和一致性,我们可能需要将SQL语句中的关键字转换为大写。针对这一...
这个功能的主要目标是在网页上显示一段文本,并允许用户输入关键词进行搜索,搜索到的关键字将在文本中以红色加粗的方式突出显示。 首先,我们需要搭建开发环境。在这个例子中,我们使用的环境是Windows 7操作系统...
在Java编程语言中,关键字是预定义的、具有特殊含义的词汇,它们是构成程序语法结构的基础元素。这篇关于“源码关键字统计”的主题旨在分析Java源代码文件,并计算其中出现的关键字数量。这个任务涉及到文件读取、...
本文将深入探讨ABAP的关键字查询帮助,为初学者提供一个清晰的入门指南。 首先,理解ABAP的基本语法是至关重要的。ABAP的语法结构与许多其他编程语言相似,例如C或PASCAL,但它具有自己独特的特性。在ABAP中,...
标识符、关键字、常量、变量、运算符在编程语言中的应用 在编程语言中,标识符、关键字、常量、变量、运算符都是基本的概念,它们在编程语言的设计和实现中扮演着非常重要的角色。 一、标识符 标识符是指在编程...
在Java编程语言中,实现根据关键字查找文件夹内包含该关键字的文件是一项常见的任务,尤其在数据处理、日志分析或者文件管理系统中。这个功能可以帮助用户快速定位到含有特定信息的文件,提高工作效率。以下是一个...
《批量搜索Word关键字程序V1.4版:高效查找与数据整理工具》 批量搜索Word关键字的程序V1.4版是一款专为IT从业人员和研究人员设计的实用工具,旨在提高工作效率,快速定位文档中的关键信息。它允许用户指定一个特定...
标题《LS-DYNA关键字手册》透露了文档的核心内容,即介绍和解释LS-DYNA软件中使用的关键字(keywords)的具体作用。关键字是LS-DYNA这款用于有限元分析(Finite Element Analysis, FEA)以及多体动力学仿真(Multi-...
这些字段可以是数值型、字符串型或者其他类型,排序时通常按照优先级顺序进行,即第一个关键字优先,当第一个关键字相同时,再比较第二个关键字,以此类推。 二、常见的多关键字排序算法 1. **直接选择排序**:首先...