Java语言基础:final和static

原创 2011年03月23日 23:42:00

 

1. final
final可以修饰类,成员方法,成员变量;表示最终的,不能修改,不能继承的:
  • final类不能被继承,类中的方法默认是final方法,但类中的成员变量不是。
  • final方法不能被子类覆盖,可以这样理解:JAVA中的普通方法等于C++的虚方法,JAVA中的final方法等于C++中的普通方法。
  • final成员表示常量,只能在声明时赋值一次,以后不能再被赋值。
public class Test { 
    private final String S="final实例变量"; 
    private final int A=10; 
}
 
  • final函数参数表示该参数为常量,不能在函数中改变:
public void f1(final int i){ 
    i++; //错误:i是final类型的,值不允许改变 
    System.out.print(i); 
}
 
2. static
static表示全局静态,用来修饰成员方法,成员变量,可以形成static代码块:
  • static方法与c++的静态方法类似,不必创建类实例即可使用,不能使用this和super关键字,且只能访问类中的static成员或static方法。
  • static成员变量与C++的静态成员类似,为所有类实例共用,注意JAVA没有局部静态变量。
public class Main {    
    static int i = 100;
}
  • static静态代码块,是在JVM加载类时就执行的代码块,只执行一次,可以用来初始化静态变量:
public class Main {    
    static int i = 100;
    static {
        i = 30;
    }
    public static void main(String[] args) {
        // 此处i应该是30
        System.out.println(i);
    }
}
3. final和static一起使用
类似于C++的全局常量:
static final int j = 200;

 

相关文章推荐

Java语言基础{Java_se(06)}-static修饰符-this关键词-单利设计模式-super关键词-继承-方法覆盖-多态-final修饰符-

Static修饰符static的作用:用来区别字段,方法,内部类,初始化代码块是属于对象还是属于类本身。static修饰符的特点: 1.static修饰的成员(字段/方法),随着所在类的加载而加载...

java基础中的final和static

  • 2013年10月04日 09:22
  • 28KB
  • 下载

static在Java语言中的作用

  • 2012年03月03日 00:44
  • 30KB
  • 下载

java语言中static的用法

static是java语言中的一个关键字,static是静态修饰符。它可以做为静态变量和静态方法。 一个类可以创建多个该类的对象,每个对象都有自己的成员,互相独立。但是,在某些时候我们希望该类的所有对...

java基础学习(7)浅析final,private,public,protected,static等关键以及它们的区别的联系

1.首先来谈final,它一般有三种用法,下面来分别介绍,简单来说定义变量,包括静态的和非静态的,或是定义方法的参数; 定义方法; 定义类。1.1 定义变量包括静态的和非静态的变量。大家都知道用fin...

java夯实基础系列:深入理解static、final关键字

static表示“全局”或者“静态”的意思。 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被s...
  • a910626
  • a910626
  • 2016年07月31日 22:47
  • 361

JAVA基础--关键字 final/static/this/super

一、      关键字final1)      final修饰类在定义类时加上final修饰符,说明该类是最终类,不能被继承,即不能当父类2)      final修饰变量final修饰的变量是最终变...

JAVA基础(一)——容器、栈和堆、static和final

容器Java中具有满足不同需求的各种类型的容器例如:List用于存储序列,Map建立对象之间的关联,Set每种对象类型只持有一个。ArrayList和LinkedListArrayList和Linke...

JAVA基础之包装类,static,final,abstract ,接口 和 内部类

包装类:   自jdk5之后,java就提供了自动装箱与自动拆箱功能,大大简化了基本类型与其包装类对象之间的转换过程,当然装换过程中要注意类型的匹配。 public class IntAndInt...
  • liuxins
  • liuxins
  • 2016年05月15日 20:55
  • 4349

Java基础之static和final的用法

在java中,变量、方法和类有很多修饰词来限定它们的范围(或者限定权限),常有的public、protected、private和默认(default),相信童鞋们对这几个修饰词并不陌生,那么,除此之...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java语言基础:final和static
举报原因:
原因补充:

(最多只允许输入30个字)