`
无量
  • 浏览: 1146358 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA基础----java中final和static关键字的理解

阅读更多
1、final最终的,由final修饰的变量,只能被初始化一次,可以在声明时初始化,也可以之后初始化,但只能初始化一次,所以由final修饰的变量是常量,不能再变了,注意如果类成员变量用final修饰,一种是声明时初始化,一种是在构造方法中初始化
注意:常量一般都用大写来表示如:PI,IP,SOCKET_NAME,MAX_SPEED

例如:
public class Test{
	public static void main(String []args) {
		A a = new A();
		//a.a = 2;//这个报错,只能初始化一次
		A b = new A();
		//b.a = 2;//这个也报错
	}
}	
	
class A {
	public final int a = 2;
}



2、static静态的,类级拥有的,由static修饰的成员变量(或者叫属性),在内存中只有一份,这个类所产生的所有实例,都公用这个一份,所以说一般,类的所有实例共同维护的属性,可以用static修饰,类名.static修饰的变量名,就可以来操作这个属性,而且内存中只维护一份,高效,省空间
例子:
public class Test{
	public static void main(String []args) {
		Stu s1 = new Stu();
		s1.s = 1;System.out.println(s1.s); //输出1
		s1.s = 2;System.out.println(s1.s); //输出2
		Stu s2 = new Stu();
		s2.s = 3;
		System.out.println(s2.s); //输出3
		System.out.println(s1.s); //输出3  因为内存中所有的实例共同维护这一份,变量
		System.out.println(Stu.s); //输出3  一般来说都直接通过类名来引用类中的静态变量
	}
}	
	
class Stu {
	public static int s;
}


其他例子:
public class Test {
	public static void main(String[] args) {
		final int num = 3;
		num = 4;  //final修饰的是常量,最终变量,不能再赋值,必须在初始化的同时就赋值
	}
}


3、静态常量:
用static final同时修饰的变量,是静态常量,同时有final和static的特性,一般用来声明系统中只维护一份(static修饰)的不变的量(final修饰)

例子:
public interface Dict {
	public static final int YES = 1;
}

用法:
直接通过---类名.变量名,来用
如:Dict.YES
0
0
分享到:
评论

相关推荐

    Java关键字final、static使用总结

    在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用方法和限制。 一、final 关键字 ...

    java中final关键字和static关键字详细用法

    Java中的`final`和`static`关键字是编程中非常重要的两个修饰符,它们分别用于不同的场景,以确保代码的稳定性和高效性。 首先,`final`关键字主要用于表示不可变性。它可以用来修饰类、方法和变量。对于类,如果一...

    Java编程中static和final关键字的陷阱.pdf

    Java编程中static和final关键字的陷阱.pdf Java编程中static和final关键字的陷阱是Java开发中两个重要的关键字,但是它们的使用也存在一些陷阱,需要开发者注意掌握。 static关键字可以用于修饰属性、方法和类。...

    Java中的static关键字

    Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以直接通过类名调用,不需要...

    深入理解Java中的final关键字_动力节点Java学院整理

    Java 中的 `final` 关键字是一个至关重要的概念,它被用来声明类、方法和变量,以确保它们在程序执行过程中不可更改。深入理解 `final` 关键字可以帮助开发者写出更加安全、高效的代码。 首先,`final` 关键字可以...

    Java并发--final关键字.docx

    Java中的`final`关键字在编程中扮演着重要的角色,它可以用于修饰变量、方法和类,确保被修饰的内容在特定条件下不可变。以下将详细阐述`final`关键字在不同场景下的应用及其特点。 **一、final修饰变量** 1. **...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    Java中的`final`关键字、抽象类和接口是面向对象编程中的核心概念,它们共同构建了类的层次结构和多态性。以下是对这些概念的详细解释: 1. **final关键字** - `final`关键字用于确保变量的值一旦被赋值后就不能...

    final关键字和static_用法

    ### Java中的static关键字详解 #### 一、static的概述 `static`关键字在Java中主要用于创建静态成员,包括静态变量和静态方法。与普通成员不同,静态成员属于类级别,而不是实例级别。这意味着无论创建了多少个类...

    Java SE基础 - 02.标识符-关键字-数据类型.pdf

    Java编程语言的基础构建块包括标识符、关键字和数据类型,这些都是编写有效Java代码的关键概念。首先,让我们详细讨论一下这些概念。 **标识符** 是你在程序中创建的名称,用于标识各种编程元素,如包、类、方法、...

    Java final关键字

    此外,`final`关键字还有其他用途,如`final`修饰的匿名内部类和`final`局部变量在匿名内部类中的特殊规则,以及`final`与`static`结合时的静态常量等。理解并熟练应用`final`关键字对于编写高效、安全的Java代码至...

    Java基础之关键字_Java基础之关键字_源码

    本文将深入探讨Java中的关键字,这些关键字是Java语法结构的基础,它们被Java编译器特殊处理,有着特定的含义和功能。 Java的关键字是被语言本身预定义的标识符,它们不能作为变量名、类名或者方法名。Java的关键字...

    【Java基础】Java8新特性—接口中使用default和static关键字

    接口中的变量默认类型是public static final,也是就是说是 公有静态常量 。 而方法默认是public abstract,公有抽象方法,但是事实真的是这样吗? 一.新特性 Java 1.8对接口有两个方面的增强:接口中可以添加使用...

    Java中的final关键字

    在Java编程语言中,`final`关键字扮演着一个至关重要的角色,它被用来定义不可变性和唯一性。这个关键字可以应用于变量、方法和类,分别赋予它们不同的特性。以下是对`final`关键字在不同场景下使用的详细介绍: 1....

    java中final和static的区别

    Java 中 final 和 static ...通过上面的解释,我们可以看到 final 和 static 关键字在 Java 中的不同用法。final 关键字用于表示不可变的变量、方法、类等,而 static 关键字用于表示静态的成员变量、方法、代码块等。

    大学课程讲义-Java基础-高级类特性.pptx

    Java 基础-高级类特性 ...本资源摘要信息涵盖了 Java 编程语言的高级类特性,包括 static 关键字、final 关键字、抽象类、接口、内部类等知识点,旨在帮助开发者更好地理解和应用 Java 编程语言。

    java-----static内存分析

    在Java中,`static`关键字主要用于修饰类中的成员变量和成员方法,使其成为类级别的成员。这意味着无论创建多少个该类的实例,`static`成员都只有一个副本存在于内存中。这种特性使得`static`在以下场景中非常有用:...

    final和static用法详解JAVA

    Java 中的 final 和 static 关键字详解 final 关键字是 Java 中的一种访问修饰符,用于修饰类、方法和变量,以确保它们不能被修改或继承。下面是 final 关键字的详细解释: 1. final 类 final 类不能被继承,也...

    01-Java基础-第1天(Java概述java安装与环境

    关键字是Java语言预定义的具有特殊含义的标识符,例如`public`, `private`, `protected`, `static`, `final`, `void`, `int`, `if`, `else`, `for`, `while`等。它们不能用作变量名、函数名或类名。 6. **标识符**...

    Java关键字大全 Java关键字

    Java关键字大全是Java编程语言中最基本和最重要的组成部分。这些关键字是Java语言的基础构建块,用于定义类、方法、变量、控制流、异常处理等。了解和掌握Java关键字是每一个Java开发者必备的技能。 下面是Java...

Global site tag (gtag.js) - Google Analytics