首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java的修饰符finalstatic

参考链接: Java的可访问非访问修饰符 1.final 修饰类时表明该类不能被继承,自然类的方法默认是final型的。  2.final 修饰方法时不允许被子类覆盖,也就是可以被继承。...一个final,一个final方法只能被实现一次。 ...static修饰的方法不得含有非静态的方法非静态的变量。因为非静态的方法变量通常是对象绑定在一块的。而static方法是对象无关。   ...static修饰的变量,不会影响到对象访问权限(方法也是),静态变量类绑定只存在一个副本,而那些对象绑定的变量则因为对象不同,可以存在多个副本也不会冲突。  static修饰模块。...本文主要参考的文章除了以上提到的外还有http://lavasoft.blog.51cto.com/62575/18771/,这里也是讲的staticfinal区别。

38500

Javafinalstatic关键字总结

1、final: final关键字可用于类、方法、变量前。 final修饰的类不可被继承,例如java.lang.Math就是一个 final类,不可被继承。...(){ name = "鱼"; #此时变量属性不可再改变 } } 2、static: 2.1)static关键字用来修饰变量、方法、游离块内部类,称这些变量、方法内部类为静态变量...2.1.1)案例 package com.sp; import java.util.Calendar; public class Person { String name; static int count...2.4)static 不可用于修饰构造器 2.5)static修饰的属性方法,对象之间是共享的。 2.6)static修饰的属性方法,可以直接用类名调用。 2.7)static游离块。...2.7.1)static除了用于修饰变量方法外,还可以用于修饰类的游离块(自由块)。 2.7.2)所谓类的“游离块”,就是在类中用“{}”包含起来的不属于任何方法或构造器的代码段。

52130
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java | Staticfinal

    : 类名.方法 如 Math.pow 所有同一个类的类成员共享,共用一个; 其值可以修改 静态方法不能向对象实施操作,静态方法不可以使用this关键字; 不能访问类实例域(非static域 / 变量...static int getNextId()   {    return nextId;   } } 被static定义的静态域独立于Java 的堆栈,独占一个存储空间; static的方法在装载...class得时候往往首先完成,比构造方法早,此时非static得属性方法还没有完成初始化。...#Static 定义的类中程序块 如 public class example{    static{      //some  } } 在该段代码被执行时,首先执行static的程序,并且只会执行一次...---- final #final定义的类 不能被继承;不允许其他人对这个类进行任何改动; 类中所有方法都被隐式设置为final; 类的成员变量可以被定义为final或非final; #final

    35410

    Javafinalstatic关键字详解

    这篇文章我们学习一下Javafinalstatic关键字的作用! final 「修饰引用」: final关键字可以用来修饰引用、方法类。...「修饰方法」: 当使用final修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然可以被继承。 「修饰类」: 当用final修改类时,该类成为最终类,无法被继承。...比如和数学相关的静态资源放在java.lang.Math日历相关的静态资源放在java.util.Calendar,这样就很清晰了 避免重名。...与非static的区别: 在内存存放的位置不同:所有static修饰的属性方法都存放在内存的方法区里,而非静态的都存在堆内存 出现的时机不同:静态属性方法在没创建对象之前就存在,而非静态的需要在创建对象才存在...注:静态属性、静态方法、非静态属性都可以被继承隐藏,但是不可以被重写,非静态方法可以被重写继承 static静态代码块 静态代码块只能写在类中方法外,不能写在方法,它会随着类的加载而优先于各种代码块构造方法的加载

    1.8K20

    Java的this,finalstatic关键字

    java早期为效率问题引出final方法,但现在发现存在诸多毛病,不推荐使用    第三种情况,final修饰域,final修饰域又分为修饰基本类型域修饰对象            final修饰基本类型域...,一旦初始化,数值保持不变            final修饰引用类型域,一旦初始化,则引用对象的地址不再发生变化,但是对象的内容可以改变 3,static关键字,可用来修饰域,方法,代码块类...,static修饰域,表示一个类只存在一份这样的静态域,不论该类创建了多少个对象,静态域只有一份,没有拷贝      第四种情况,static修饰方法,在static修饰的方法只能调用静态域,静态方法不能出现...this,super关键字,而且静态方法和静态域可以使用类名或者对象去调用,而非静态的只能使用对象去调用 在代码验证this,staticfinal,关键字 Person.java文件 public...文件,final修饰的域final修饰的对象,以及static修饰的域static修饰的变量 public class MainActivity extends Activity {

    35420

    Javastaticfinal关键字【详解】

    this指当前对象,静态方法不用声明实例对象在java,程序执行时 类的字节码文件会被加载到内存,如果类没有创建对象 类的成员变量则不会分配到内存;但对于被static修饰的静态变量/方法,堆中有一个专属的静态变量区...此时静态方法非静态方法都在内存当中,所以在静态方法可以使用对象去调用一个非静态方法。4)static修饰的成员属于类,会存储在静态区,是随着类的加载而加载的,且只加载一次,所以只有一份,节省内存。...在Java类下,使用 { } 括起来的代码被称为代码块 。2)静态代码块:static{}。特点——需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次。...Java提供了final关键字,表示修饰的内容不可变。final:最终的、不可改变的。可用于修饰类、方法、变量。...格式如下:修饰符 final 返回值类型 方法名(参数列表){ //方法体}注意:对于类、方法来说,abstract关键字final关键字不能同时使用。

    24500

    Java 基础概念·Java finalstatic

    Java finalstatic final 数据 声明数据为常量,可以是编译时常量,也可以是在运行时被初始化后不能被改变的常量。...private 方法隐式地被指定为 final,如果在子类定义的方法基类的一个 private 方法签名相同,此时子类的方法不是重写基类方法,而是在子类定义了一个新的方法。...static 静态变量 静态变量:又称为类变量,也就是说这个变量属于类的,类所有的实例都共享静态变量,可以直接通过类名来访问它。静态变量在内存只存在一份。...(); // Illegal combination of modifiers: 'abstract' and 'static' } 只能访问所属类的静态字段和静态方法,方法不能有 this super...import static com.xxx.ClassName.* 初始化顺序 静态变量和静态语句块优先于实例变量普通语句块,静态变量和静态语句块的初始化顺序取决于它们在代码的顺序,最后才是构造函数的初始化

    26730

    finalstatic关键字

    static表示“全局”或者“静态”的意思,用来修饰成员变量成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。   ...被static修饰的成员变量成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。   只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。...static修饰的成员变量成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法为: 类名.静态方法名(参数列表…) 类名.静态变量名 用static修饰的代码块表示静态代码块,当Java...oublic static final double PI = 3.14; ... }   在程序,可以采用Math.PI的形式获得这个常量。   ...静态方法不能用thissuper关键字,不能直接访问所属类的实例变量实例方法(就是不带static的成员变量成员成员方法),只能访问所属类的静态成员变量成员方法。

    644110

    static final 小课堂开课了

    前言 学习了面向对象的一些知识点后,在看别人的代码中经常会看到 static final 两个关键字,那你知道它俩都是做什么用的么,使用的时候需要注意啥呢?...今天的内容就来一起了解下,static final 关键字的使用。 static 静态的意思,是 Java 中常用的修饰符,既可以用它来修饰成员变量,也可以用它来修饰成员方法。...静态变量 静态变量就是用 static 来修饰的成员变量,最重要的特点就是一个类的静态变量被类的所有对象所共享。它不属于任何一个对象,而是属于类。其生命周期同类一样,共生共存,是优先于对象的。...一个静态方法只能访问静态变量其他的静态方法。而不能访问非静态的变量方法。 但一个非静态方法一方面既可以访问静态变量,也可以访问非静态变量;另一方面,也既可以访问静态方法,也可以访问非静态方法。...另外,我们也对 final 用来修饰变量、方法类时的场景进行了回顾。 码字不易,如果本文对你所有帮助,那就来个一键三连吧!

    20420

    static final 小课堂开课了!

    前言 学习了面向对象的一些知识点后,在看别人的代码中经常会看到 static final 两个关键字,那你知道它俩都是做什么用的么,使用的时候需要注意啥呢?...今天的内容就来一起了解下,static final 关键字的使用。 static 静态的意思,是 Java 中常用的修饰符,既可以用它来修饰成员变量,也可以用它来修饰成员方法。...静态变量 静态变量就是用 static 来修饰的成员变量,最重要的特点就是一个类的静态变量被类的所有对象所共享。它不属于任何一个对象,而是属于类。其生命周期同类一样,共生共存,是优先于对象的。...一个静态方法只能访问静态变量其他的静态方法。而不能访问非静态的变量方法。 但一个非静态方法一方面既可以访问静态变量,也可以访问非静态变量;另一方面,也既可以访问静态方法,也可以访问非静态方法。...另外,我们也对 final 用来修饰变量、方法类时的场景进行了回顾。 码字不易,如果本文对你所有帮助,那就来个一键三连吧!

    15630

    final static 关键字总结

    ,此时类的所有成员方法,都会被隐式地指定为 final 方法; 使用 final 方法的原因有两个。...第一个原因是把方法锁定,防止任何继承类修改它的含义;第二个原因是效率,早期的 Java 版本,会将 final 方法转为内嵌调用,但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升(如今已经不需要显示使用...static 关键字主要有以下四种使用场景: 修饰成员变量成员方法: 被 static 修饰的成员属于类,不属于这个类的某个对象,被类中所有的对象共享,可以并且建议通过类名进行调用。...被 static 声明的成员变量属于静态成员变量,静态变量存放在 Java 内存区域的方法区,调用格式:类名.静态变量名、类名.静态方法名(); 静态代码块: 静态代码块定义在类中方法外, 静态代码块在非静态代码块之前执行...它不能使用任何外围类的非static成员变量方法; 静态导包(用来导入类的静态资源): 格式为:import static xxx,可以导入某个类的指定静态资源,并且不需要显式使用类名来调用类的静态成员和静态方法

    34620

    java学习笔记(基础篇)—关键字staticfinal

    一、关键字Static 我们从关键字static可以修饰哪些东西入手,逐一的剖析static的使用要注意的地方。...变量实例变量的区别: i)static变量对于每个类而言在内存只有一个,能被类的所有实例所共享; 实例变量对于每个类的每个实例都有一份,它们之间互不影响; ii)Java虚拟机在加载类的过程为...3)静态初始化块----在类加载时只执行一次 ​ 对静态变量进行初始化,当Java虚似机加载类时,就会执行该代码块;被static 所修饰的成员变量成员方法表明归某个类所有,它不依赖于类的特定实例,被...String类就是final修饰的类,所有字符串是不能改变的,只能通过拼接创建新的 String对象,这样很浪费内存,所以又有了StringBuilderStringBuffer;这两 个类后面再解释...三、思考final、finallyfinalize的区别 后面出一篇关于这个的文章,敬请关注。

    34630

    Java关键字finalstatic使用总结

    一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法变量。...System.out.print(i); } } 二、static static表示“全局”或者“静态”的意思,用来修饰成员变量成员方法,也可以形成静态static代码块,但是Java...被static修饰的成员变量成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。...2、静态方法 静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法不能用thissuper关键字,不能直接访问所属类的实例变量实例方法(就是不带static的成员变量成员成员方法...4、staticfinal一块用表示什么 static final用来修饰成员变量成员方法,可简单理解为“全局常量”!

    81530

    Java final, static, this, super 关键字总结

    Java final, static, this, super 关键字总结 1. final 关键字 final关键字主要用在三个地方:变量、方法、类。...使用final 方法的原因有两个: 把方法锁定,以防任何继承类修改它的含义; 效率。在早期的Java实现版本,会将final方法转为内嵌调用。...被static 声明的成员变量属于静态成员变量,静态变量 存放在 Java 内存区域的方法区。...它不能使用任何外围类的非static成员变量方法。...静态导包(用来导入类的静态资源,1.5之后的新特性): 格式为:import static 这两个关键字连用可以指定导入某个类的指定静态资源,并且不需要使用类名调用类静态成员,可以直接使用类静态成员变量成员方法

    49820

    Java常见关键字总结:static,final,this,super

    想想之前学的知识都忘了好多就有点悲伤(⊙︿⊙)  这次复习的知识点是面向对象的关键字static,final,this,super,一些注意的点知识点。   ...文章目录  常见关键字总结:static,final,this,superfinal 关键字static关键字修饰成员变量成员方法(常用)静态代码块静态导包补充内容静态方法与非静态方法       static...使用final关键字的原因:  需要将方法锁定,防止任何类继承或者修改其含义;效率问题,在早起的Java版本,会将关键字final修饰的方法转为内嵌使用,如果方法过于庞大,可能看不懂内嵌带来的效率性能提升...static关键字  static关键字主要有以下四种使用场景:  **修饰成员变量成员方法:**被static修饰的成员属于类,不属于这个单个类的单个对象,被类的所有的对象所共享,可以通过类名调用...静态导包(用来导入类的静态资源,1.5之后的新特性): 格式为:import static 这两个关键字连用可以指定导入某个类的指定静态资源,并且不需要使用类名调用类静态成员,可以直接使用类静态成员变量成员方法

    53100

    Java关键字finalstatic总结与对比

    final Java关键字final有“不可改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法变量。你可能出于两种理解而需要阻止改变:设计或效率。...不可修饰:static方法不能用thissuper关键字。static不可修饰外部类、局部变量【static 属于类的,局部变量属于其方法,并不属于类】。...static修饰的代码块在JVM加载类时只会执行一次 final类不能被继承,没有子类,final的方法默认是final的 针对方法: static修饰的属性方法属于类,可以用类名.静态属性 /...方法名 访问 static方法不能用thissuper关键字,普通方法可以但还是推荐使用类名访问静态方法和静态变量 static方法必须被实现,而不能是抽象的abstract final方法不能被子类覆盖重写...static final 代表staticfinal二者的共同体,static finalfinal static语法用法上没有任何区别,一般习惯static写在前面。

    84820

    Java staticstatic的区别(方法变量)

    Java当中staticstatic变量的区别 static 修饰的变量称为类变量或全局变量或成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存在。...static修饰的变量在加载的时候先于main方法加载在内存的数据共享区-------方法区,而非static的变量在加载的时候,是要创建变量才加载在堆内存的。...在类调用成员变量时直接调用或者以类名.变量名方式调用,实例变量则用this或者直接调用。 static方法static方法的区别 static修饰的方法也static一样。...静态的static方法不能使用this或者super关键字,因为static方法是先于对象创建之前就已经加载的方法,是属于类的方法,而thissuper指向的是本类的对象或者父类的对象,非静态的方法是属于对象的...,方法里可以用thissuper。

    71130
    领券