(1)static关键字:
1》类变量/静态变量
在系统加载其所在类时分配空间并初始化,创建该类的实例对象时不再分配空间,所有实例共享类的静态变量。
2》类方法/静态方法
静态方法通过类名而不是通过实例对象进行访问。注意2点:
1.因为不是通过实例对象进行调用的,所以在静态方法中没有this指针,不能访问非静态变量和方法,只能访问方法体内的局部变量,自己的参数和静态变量。
2.子类不能重写父类的静态方法,但在子类中可以声明与父类静态方法相同的方法,从而将父类的静态方法隐藏。另外子类不能把父类的非静态方法重写为静态的。
class ClassA
{
public void methodOne(int i){}
public void methodTwo(int i){}
public static void methodThree(int i){}
public static void methodFour(int i){}
}
class ClassB extends ClassA
{
public static void methodOne(int i){}//错误,不能将非静态重写为静态
public void methodTwo(int i){}//正确,重写
public void methodThree(int i){}//错误,不能重写ClassA中的静态方法
public static void methodFour(int i){}//正确,将methodFour方法隐藏
}
静态初始化程序
不属于任何方法体并且以static关键词修饰的语句块,成为静态语句块。在加载该类时只执行一次。
class StaticDemo
{
static int i;
static
{
i=5;
System.out.println("Static code:i="+i);
}
}
public class TestStaticInit
{
public static void main(String args[])
{
System.out.println("Main code:i="+StaticDemo.i);
}
}
输出结果:
Static code:i=5;
Main code:i=6;
(2)final关键词
1.在类的声明时使用:final class 类名 阻止被继承。
2.在成员方法中使用:final type function(){} 阻止被重写。
3.在成员变量声明中使用:该变量一经赋值则不能被改变,声明final变量并同时赋初值来定义常量,一般大写
final int PI=3.14;
如果在声明时没有赋值,则在所属类的每个构造函数中都必须对该变量赋值。
如果未赋初值的final变量是局部变量,则可以在所属方法体的任何位置对其赋值,但只能赋一次。
分享到:
相关推荐
Java编程中static和final关键字的陷阱.pdf Java编程中static和final关键字的陷阱是Java开发中两个重要的关键字,但是它们的使用也存在一些陷阱,需要开发者注意掌握。 static关键字可以用于修饰属性、方法和类。...
JAVA访问控制 、 static和final.mp4
1.static修饰一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为private私有,那么只能在类内部使用.
### Static (静态) 和 Final (最终) 在 Java 中的应用 #### Static (静态) 在 Java 编程语言中,`static` 关键字用于定义类成员(变量和方法)的访问特性,表明这些成员属于类本身而不是类的实例。具体而言: - *...
Static、Final 和 Static Final 的区别 Static、Final 和 Static Final 是 Java 中三个重要的关键字,它们之间的区别和应用场景是开发者需要了解和掌握的。 首先,让我们来了解 Static 关键字。Static 是 Java 中...
在Java编程语言中,`static`和`final`都是关键字,它们用于定义不同的特性,但同时也有一些相似之处。下面我们将详细探讨这两个关键字的区别和用法。 首先,`static`关键字是用来声明类级别的变量或方法,这意味着...
Java 中的 final 和 static 关键字详解 final 关键字是 Java 中的一种访问修饰符,用于修饰类、方法和变量,以确保它们不能被修改或继承。下面是 final 关键字的详细解释: 1. final 类 final 类不能被继承,也...
在Java编程语言中,`static`、`final`、`abstract`和`interface`是四个非常重要的关键字,它们分别代表不同的特性,用于定义类、变量和方法的行为。下面是对这些关键字的详细解释: 1. **static(静态)** - **...
Java 中 static、this、super、final 的用法 静态方法(static method)是一种特殊的方法,它可以在不需要创建对象的情况下被调用。Java 中的静态方法使用 static 关键字来修饰,例如 public static void main...
`final`可以用来修饰类、方法以及变量,其核心目的是为了保护数据的安全性和不可变性。 #### 二、final修饰类 当一个类被声明为`final`时,意味着这个类不能再被继承。这样的设计主要是为了保护类的设计不被外部...
Java 中 final 和 static 的区别 final 关键字在 Java 中有多种用法,包括修饰变量、方法、类等。下面是 final 关键字的各种用法: 1. final 修饰变量:表示该变量一旦被初始化,程序无法修改变量的值,该变量变成...
在Java编程语言中,`final`与`static`是两个非常关键且常用的关键字,它们各自具有独特的功能和用途,可以极大地增强代码的稳定性和可维护性。下面将详细解析这两个关键字的用法及其在Java中的重要性。 ### 一、`...
java中final和static讲解及实例
本文将详细探讨多态、static和final在Java中的应用和重要性。 ### 多态:灵活性与扩展性的关键 多态,源自希腊语poly(多)和morph(形态),意味着同一接口或类名可以有多种不同的实现方式。在Java中,多态主要...
Java中的`final`和`static`关键字是编程中非常重要的两个修饰符,它们分别用于不同的场景,以确保代码的稳定性和高效性。 首先,`final`关键字主要用于表示不可变性。它可以用来修饰类、方法和变量。对于类,如果一...
在Java编程语言中,`final` 和 `static` 是两个非常重要的关键字,它们分别具有不同的含义和用法,但都对代码的结构和行为产生深远影响。本文将深入探讨这两个关键字,并结合实际示例来解释它们的应用场景。 首先,...
在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用方法和限制。 一、final 关键字 ...
Java中的`static`、`this`、`super`和`final`是四个非常重要的关键字,它们在编程中扮演着至关重要的角色。这篇文章将简要介绍这些关键字的基本用法及其应用场景。 1. **static** `static`关键字用于声明类级别的...
Java 中的 static 和 final 关键字是两个重要的概念,分别用于修饰成员变量、方法和类。下面我们将详细分析这两个关键字的知识点和相关代码分享。 static 关键字 static 关键字是 Java 中的一个静态修饰符,用于...