小詹小詹

每天写两个的java常见面试题—final 和static 的用法

第一次写随笔,可能写的比较乱,更多的是作为自己记忆一些知识的方式。所有记录的东西都是自己的一些理解,很多语言可能还是从其他大牛的博客里面搬过来的。

一.static的作用:

      static的的作用从三个方面来谈,分别是静态变量、静态方法、静态类。

   1.静态变量:

        声明为static的静态变量实质上就是全局变量,当声明一个对象时,并不产生static变量的拷贝,而是该类所有实例变量共用同一个static变量。也就是说这个静态变量只加载一次,只分配一块储存空间。

   2.静态方法:

       声明为static的静态方法有以下几个特点:

       (1)静态方法只能调用静态方法;

       (2)静态方法只能访问静态数据;

       (3)静态方法不能以任何方式引用this或super;

   3.静态类:

        通常一个普通类不允许声明为静态,只有一个内部类才可以(main方法就是一个典型),这时这个声明的静态类可以直接作为一个普通类来使用,而不需要实例一个外部类。

二.final的作用:

   同样,final的作用从变量、方法、类三个方面来理解、

      final修饰的变量的值不能被修改,是一个常量;

      final修饰的方法不能被重写;

      final修饰的类不能被继承;

三.final 和static 一块用表示什么?

    static和final一块修饰的成员变量和成员方法,简单来说可以理解为全局变量!

   对于变量,一旦给定值,就不可以修改,并且通过类名可以访问。

   对于方法,表示不可覆盖,并且可以通过类名直接访问。

posted on 2017-05-10 22:20  小詹小詹  阅读(2999)  评论(0编辑  收藏  举报

导航