修饰符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 1209一、什么是软件设计模式? 设计模式:是一套被反复使用、多数 ... -
Thread 与Runnab le区别
2012-03-02 14:05 1970大家都知道多线程可以 ... -
I/O流与文件
2012-02-06 15:22 832I/O流 字节输入流:InputStream类为所有 ... -
多线程
2012-02-06 15:23 752多线程: 进程与线程: 进程:同一个操作系统中 ... -
布局管理器与事件处理
2012-02-06 15:23 883图形界面: 布局管 ... -
异常与图形界面
2012-02-06 15:23 704异常: 异常的分类 ... -
反射与内部类
2012-02-06 15:24 1028反射: 反射:在运行时动态分析或使用一个类进行工作。 ... -
java集合框架
2012-03-26 19:33 876集合:保存多个其他对象的对象,不能保存简单类型 Li ... -
抽象类与接口
2012-02-05 19:17 731修饰符abstract:抽象 ... -
类与对象
2012-02-05 19:13 685类和对象: 类:主观抽象,是对象的模板,可以实例化对 ... -
java环境配置与基本概念
2012-02-05 19:11 655配置java环境变量: JAVA_HOME:配置JD ... -
运算符、流程控制以及数组
2012-02-05 19:09 789局部变量:不是声明 ... -
登陆界面的开发
2012-01-08 17:36 787在开发登陆界面的前面,我们先须要熟悉和熟练构造方法,构造方法 ... -
类与对象
2012-01-08 16:54 763什么是面向对象的编程? OOP:1、在程序中模拟现实世界中的 ... -
类与对象
2012-01-08 16:50 748什么是面向对象的编程? OOP:1、在程序中模拟现实世界中的 ... -
java中能当做基本数据类型的类String
2012-01-08 15:47 771String是java中的一个类,而不是一种基 ... -
java虚拟机与java跨平台运行的关系
2012-01-08 15:24 9961、现写一个简单的java小程序 publicv cl ... -
java中的关键字
2011-11-19 23:45 781最近系统的学习了java的关键字,我才发现原来不知 ... -
与java第一次亲密的接触
2011-11-01 21:58 763刚开始学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中,...
标识符、关键字、常量、变量、运算符在编程语言中的应用 在编程语言中,标识符、关键字、常量、变量、运算符都是基本的概念,它们在编程语言的设计和实现中扮演着非常重要的角色。 一、标识符 标识符是指在编程...
《批量搜索Word关键字程序V1.4版:高效查找与数据整理工具》 批量搜索Word关键字的程序V1.4版是一款专为IT从业人员和研究人员设计的实用工具,旨在提高工作效率,快速定位文档中的关键信息。它允许用户指定一个特定...
这些字段可以是数值型、字符串型或者其他类型,排序时通常按照优先级顺序进行,即第一个关键字优先,当第一个关键字相同时,再比较第二个关键字,以此类推。 二、常见的多关键字排序算法 1. **直接选择排序**:首先...
标题《LS-DYNA关键字手册》透露了文档的核心内容,即介绍和解释LS-DYNA软件中使用的关键字(keywords)的具体作用。关键字是LS-DYNA这款用于有限元分析(Finite Element Analysis, FEA)以及多体动力学仿真(Multi-...
### C++关键字详解 在C++编程语言中,关键字具有特定的语法意义,它们由编译器识别并赋予特殊含义。下面将详细介绍一系列C++的关键字及其用途。 #### asm(汇编指令) - **功能**:`asm`关键字用于嵌入汇编代码到...