`
朽木一根
  • 浏览: 26128 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

static和final

    博客分类:
  • Java
 
阅读更多

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

    JAVA访问控制 、 static和final.mp4

    JAVA访问控制 、 static和final.mp4

    Static和Final修饰类属性变量及初始化

    1.static修饰一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为private私有,那么只能在类内部使用.

    static and final.

    ### Static (静态) 和 Final (最终) 在 Java 中的应用 #### Static (静态) 在 Java 编程语言中,`static` 关键字用于定义类成员(变量和方法)的访问特性,表明这些成员属于类本身而不是类的实例。具体而言: - *...

    详解static 和 final 和 static final区别

    Static、Final 和 Static Final 的区别 Static、Final 和 Static Final 是 Java 中三个重要的关键字,它们之间的区别和应用场景是开发者需要了解和掌握的。 首先,让我们来了解 Static 关键字。Static 是 Java 中...

    static与final的异同

    在Java编程语言中,`static`和`final`都是关键字,它们用于定义不同的特性,但同时也有一些相似之处。下面我们将详细探讨这两个关键字的区别和用法。 首先,`static`关键字是用来声明类级别的变量或方法,这意味着...

    final和static用法详解JAVA

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

    static、final、abstract和interface使用总结

    在Java编程语言中,`static`、`final`、`abstract`和`interface`是四个非常重要的关键字,它们分别代表不同的特性,用于定义类、变量和方法的行为。下面是对这些关键字的详细解释: 1. **static(静态)** - **...

    static、this、super、final的JAVA用法

    Java 中 static、this、super、final 的用法 静态方法(static method)是一种特殊的方法,它可以在不需要创建对象的情况下被调用。Java 中的静态方法使用 static 关键字来修饰,例如 public static void main...

    final关键字和static_用法

    `final`可以用来修饰类、方法以及变量,其核心目的是为了保护数据的安全性和不可变性。 #### 二、final修饰类 当一个类被声明为`final`时,意味着这个类不能再被继承。这样的设计主要是为了保护类的设计不被外部...

    java中final和static的区别

    Java 中 final 和 static 的区别 final 关键字在 Java 中有多种用法,包括修饰变量、方法、类等。下面是 final 关键字的各种用法: 1. final 修饰变量:表示该变量一旦被初始化,程序无法修改变量的值,该变量变成...

    java中final与static的用法

    在Java编程语言中,`final`与`static`是两个非常关键且常用的关键字,它们各自具有独特的功能和用途,可以极大地增强代码的稳定性和可维护性。下面将详细解析这两个关键字的用法及其在Java中的重要性。 ### 一、`...

    java中final和static讲解及实例

    java中final和static讲解及实例

    面向对象与Java实现(多态、static、fina

    本文将详细探讨多态、static和final在Java中的应用和重要性。 ### 多态:灵活性与扩展性的关键 多态,源自希腊语poly(多)和morph(形态),意味着同一接口或类名可以有多种不同的实现方式。在Java中,多态主要...

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

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

    java中final和static的总结

    在Java编程语言中,`final` 和 `static` 是两个非常重要的关键字,它们分别具有不同的含义和用法,但都对代码的结构和行为产生深远影响。本文将深入探讨这两个关键字,并结合实际示例来解释它们的应用场景。 首先,...

    Java关键字final、static使用总结

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

    Java中static、this、super、final用法简谈

    Java中的`static`、`this`、`super`和`final`是四个非常重要的关键字,它们在编程中扮演着至关重要的角色。这篇文章将简要介绍这些关键字的基本用法及其应用场景。 1. **static** `static`关键字用于声明类级别的...

    学习Java的static与final关键字

    Java 中的 static 和 final 关键字是两个重要的概念,分别用于修饰成员变量、方法和类。下面我们将详细分析这两个关键字的知识点和相关代码分享。 static 关键字 static 关键字是 Java 中的一个静态修饰符,用于...

Global site tag (gtag.js) - Google Analytics