[Java] static, final

1.静态成员

静态成员独立于类的对象,先于对象的存在而存在。无论创建了类的多少个对象,静态成员都只有一个实例空间。一个静态变量被同一个类的所有对象共享。当改变了其中一个对象的静态变量时,其余对象的静态变量值也相应会有改变,因为他们共享的是在同一个空间中的同一个量。

因为静态变量与具体对象无关,所以静态变量被定义后可以使用如下两种方式来调用:

  对象名.静态变量名

  类名.静态变量名

2.静态方法

静态方法常用定义形式:

public static int out(){

  //方法体

}

静态方法使用:

  对象名.静态方法名

  类名.静态方法名

3.final

final 类

在写程序时,有些类已经定义完善。为保持一致性或安全方面原因,不希望被其他类继承,则应修饰该类为final类。final 类不能被继承。

public final class Test{

  //类体

}

Java 中,很多常见类都是final 类型,如字符串类String, 数学计算类Math 等。

final 成员

final 修饰的成员变量称为常量

final 修饰的成员方法称为最终方法,最终方法不能在当前类的派生子类中被覆盖。最终方法的定义形式:

public final void out(){

  //方法体

}

时间: 2024-10-18 16:01:56

[Java] static, final的相关文章

Java static,final 基本概念

(转载自http://blog.kenyang.net/2011/03/java-staticfinal.html) 從很久以前我就了解到, 不僅僅要知道know how, 還要知道know why, 舉個例子,當我派工作給底下的人做時, 例如要他做出一個發送mail的功能出來, 恩,拜Google大神所賜,通常很快都可以找到發送mail的code. 但是當我細下去問每一行code的用途時, 大多是...."恩...不知道". 我覺得此風不可長. 甚至有些學弟們搞不清楚何時要用stat

Java关键字final、static使用总结

Java关键字final.static使用总结 一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不能被继承,没有子类,final类中的方法默认是final的.        final方法不能被子类的方法覆盖,但可以被继承.        final成员变量表示常量,只能被赋值一次,赋值后值不再改变.        final不

Java static和final

java提高篇(七)-----关键字static static 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概念,在Java中static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块. Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量.数组和对象的引用,堆内存主要存放一些对象.在JVM加载一个类的时候,若该类存在static修饰的成员变量和成员方法

[转] Java关键字final、static使用总结

Java关键字final.static使用总结 一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不能被继承,没有子类,final类中的方法默认是final的.        final方法不能被子类的方法覆盖,但可以被继承.        final成员变量表示常量,只能被赋值一次,赋值后值不再改变.        final不

java进阶11 static final关键字

static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块. 被static修饰的成员变量和成员方法独立于该类的任何对象,也就是说. 它不依赖类的特定的实例,被类的所有实例共享. package Static; public class Static { /* * 使用的情况 * 1:在对象之间共享值时 * 2:方便访问变量 * */ public static void main(String[] args){ Sta

java中 static,final,transient,volatile关键字的作用

static 和final static  静态修饰关键字,可以修饰 变量,程序块,类的方法: 当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存: 修饰一个程序块的时候(也就是直接将代码写在static{...}中)时候,虚拟机就会优先加载静态块中代码,这主要用于系统初始化:当修饰一个类方法时候你就可以直接通过类来调用而不需要新建对象. final 只能赋值一次:修饰变量.方法及类,当你定义一个final变量时,jvm会将其

浅析java修饰符之public default protected private static final abstract

浅析java修饰符之public default protected private static final abstract 一   修饰符的作用:用来定义类.方法或者变量,通常放在语句的最前端 二   分类(大致分两类) 1.访问修饰符,包括:public default protected private 2.非访问修饰符,包括:static final abstract 三 访问修饰符--Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java支持4种不同的访问权

【Java关键字-Interface】为什么Interface中的变量只能是 public static final

三个关键字在接口中的存在原因:public:接口可以被其他接口继承,也可以被类实现,类与接口.接口与接口可能会形成多层级关系,采用public可以满足变量的访问范围: static:如果变量不是static的,那么接口必须实例化才可以访问自己的变量,接口不能被实例化,故非static的变量是无效的: final:如果变量不是final的,而方法是abstract的,因此接口中的方法又不可以修改变量值,虽然可以直接修改静态成员变量,但所有实现类对应的值都被修改了,此做法等同于抽象类,故需要fina

转!Java关键字final、static使用总结

Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不能被继承,没有子类,final类中的方法默认是final的. final方法不能被子类的方法覆盖,但可以被继承. final成员变量表示常量,只能被赋值一次,赋值后值不再改变. final不能用于修饰构造方法. 注意:父类的private成员方法