首页 > 编程语言 >Java static、final、static final 以及final static区别

Java static、final、static final 以及final static区别

时间:2023-05-16 18:23:02浏览次数:31  
标签:Java 变量 成员 static 修饰 方法 final

一、相同点

  • 都是Java修饰符

二、不同点

  1. final
    final修饰 类:表示该类不能被继承;
    final修饰 方法:表示该方法不能被重写;
    final修饰 方法参数:表示在变量的编译期中它的值不能被改变;
    final修饰 变量:包括成员变量和局部变量,该变量只能被赋值一次且它的值无法被改变。对于成员变量来讲,我们必须在声明时或者构造方法中对它赋值;
  2. static
    static修饰 成员变量:将其变为类成员,从而实现所有对象对于该成员的共享;
    static修饰 成员方法:将其变为类方法,可以直接使用“类名.方法名"的方式调用,常用于工具类;
    static修饰 静态代码块:将多个类成员放在一起初始化,用来优化程序性能,它只会在类加载的时候执行一次。
  3. static final 与 final static
    static final 或 final static修饰 变量:表示一旦给值就不可修改,可以通过类名可以直接访问;
    static final 或 final static修饰 方法:表示不可覆盖,可以通过类名直接访问。

无论是static final 还是 final static来修饰变量、方法,都是一样的作用,都是在内存中存储一段数据。不管怎么写不报错,根据个人习惯来用。推荐static final。

标签:Java,变量,成员,static,修饰,方法,final
From: https://www.cnblogs.com/arek/p/17406447.html

相关文章

  • Java:static关键字
    (一)static关键字的基本用法1.static关键字基本概念我们可以一句话来概括:方便在没有创建对象的情况下来进行调用。也就是说:被static关键字修饰的不需要创建对象去调用,直接根据类名就可以去访问。2.static关键字修饰类Java里面static一般用来修饰成员变量或函数。但有一种特殊用......
  • Java public、protected、default和private四种修饰符区别
    一、相同点都是修饰符二、不同点访问权限不同public任何地方都可以访问,被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。****protected修饰符,权限介于public与default之间。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类......
  • C++:全局变量和static变量初始化
    (一)全局变量全局变量、文件域中的静态变量、类中的成员静态变量在main函数执行前初始化;局部变量中的静态变量在第一次调用时初始化。C++保证,全局变量在main函数第一次使用它之前,就把它初始化好。(可以直接理解成在main函数执行前就初始化好)但这个初始化可细分为:编译时初始化和运......
  • java 获取ip
     获取ip信息publicstaticStringgetRealIp(HttpServletRequestrequest){Stringip=request.getHeader("x-forwarded-for");if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){ip=request.g......
  • Java Instant 创建和使用
    JavaInstant创建和使用 JavaInstant是一个日期和时间相关的类,它表示时间轴上的一个点,精确到纳秒。在Java8中引入了Instant类,可以方便地进行时间戳的操作和转换。创建Instant实例可以通过以下几种方式: 1、使用now()方法获取当前时间的Instant对象Instant......
  • Java网络编程----通过实现简易聊天工具来聊聊BIO
    IO模型即输入输出模型,我们今天主要来聊的是java网络编程中的IO模型---BIO模型。BIO即阻塞式IO,BlockingIOblocking[ˈblɒkɪŋ]v. 堵塞;阻塞;堵住(某人的路等);挡住(某人的视线等);妨碍;阻碍;那究竟什么是阻塞呢?这里的阻塞和多线程并发控制中,对未持有锁的线程进行同步阻......
  • Java中ArrayList集合类的使用
    一、概述什么是ArrayList?ArrayList类是可以动态修改的数组,没有固定的大小限制,可以添加、删除、修改、遍历元素。ArrayList继承了AbstractList,实现了List接口。二、ArrayList的使用1、在使用前需要导入包: 1importjava.util.ArrayList; 2、初始化: 1ArrayList<E>objec......
  • Java学习笔记
    一、JAVA发展简史1.JAVA的诞生​在1991年时候,詹姆斯·高斯林(JamesGosling)在SUN公司的工程师小组想要设计这样一种小型计算机语言。该语言主要用于像电视盒这样的消费类电子产品。2.JAVA的发展史1991年,Sun公司的Green项目(Oak语言)1995年,推出JAVA测试版1996......
  • 为什么被final修饰的方法不能被子类重写(无法被覆盖)
       方法覆盖是子类重写父类的方法实现。如果一个方法被final修饰,那么子类是无法重写该方法。注意final关键字只是让方法无法被覆盖,但不影响方法的继承。子类依旧可以继承父类的final方法,只是不能对其实现进行修改。好处就是:防止子类不经意间修改父类方法的实现,破坏了程序的正......
  • 01初识Java
    初识java一、Java特性简单性,相当于C++语法的一个“纯净版本”;面向对象;分布式(微服务),Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议;健壮性,Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。不仅如此,Java编译器能够检测许多......