我对static/final关键字的理解

一、static关键字

1.1 static关键字可以修饰的

static关键字可以修饰成员变量、成员方法、初始化块、内部类,被static修饰的成员是类的成员,它属于类、不属于单个对象。以下是static修饰这4种成员时表现出的特征:

1.1.1 类变量:被static修饰的成员变量叫类变量(静态变量)。类变量属于类,它随类的信息存储在方法区,并不随对象存储在堆中,类变量可以通过类名来访问,也可以通过对象名来访问,但建议通过类名访问它。
1.1.2 类方法:被static修饰的成员方法叫类方法(静态方法)。类方法属于类,可以通过类名访问,也可以通过对象名访问,建议通过类名访问它。
1.1.3 静态块:被static修饰的初始化块叫静态初始化块。静态块属于类,它在类加载的时候被隐式调用一次,之后便不会被调用了。
1.1.4 静态内部类:被static修饰的内部类叫静态内部类。静态内部类可以包含静态成员,也可以包含非静态成员。静态内部类不能访问外部类的实例成员,只能访问外部类的静态成员。外部类的所有方法、初始化块都能访问其内部定义的静态内部类。

1.2 一个类不同的对象,static修饰的变量,在一个对象中被改变了,对其他对象有无影响?

是有影响的,一个实例化对象修改了static关键字定义的成员变量,其他实例化对象也会变。

注释:static修饰的成员,存储在方法区中,不跟随对象存储在堆内存

我门通过代码检验一下:

package cn.edkso.java_basics.keyword;
public class Student {public static String banzhuren  = "刘放美";public int age = 18;}
}package cn.edkso.java_basics.keyword;
public class StaticTest {public static void main(String[] args) {Student s1 = new Student();Student s2 = new Student();System.out.println(s1.banzhuren);s1.banzhuren = "马欢";System.out.println(s2.banzhuren);}
}

输出:

1.3static修饰的类能不能被继承?

static修饰的类可以被继承。

二final关键字

final关键字可以修饰类、方法、变量,以下是final修饰这3种目标时表现出的特征:
2.1 final类:final关键字修饰的类不可以被继承。
2.2 final方法:final关键字修饰的方法不可以被重写。
2.3 final变量:final关键字修饰的变量,一旦获得了初始值,就不可以被修改。

版权声明:
作者:十下
链接:https://blog.edkso.cn/?p=888
来源:十下博客
文章版权归作者所有,未经允许请勿转载。

我对static/final关键字的理解(一个类不同的对象,static修饰的变量,在一个对象中被改变了,对其他对象有无影响?)相关推荐

  1. 黑马程序员_Java基础_this,super,static,final关键字

    一,this关键字 1,当成员变量和局部变量重名时,可以使用this关键字来区分. this关键字代表的是本类对象,this一般是在一个函数中,哪个对象在调用this所在的函数,this就代表哪个对象 ...

  2. 编程:请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”...

    Question:使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?". Answer: public ...

  3. final关键字_Java面试-谈谈对final关键字的理解

    一.final简介 final意为最终的,不可变的. 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量). final修饰的类不可被继承 将一个类声明为final,其中 ...

  4. java static final关键字_Java的static与final关键字

    版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 static:(静态修饰符)面向对象中static修饰的内容是隶属于类,而不是直接隶属于对象的,所以static修 ...

  5. 在python中可以用什么关键字来声明一个类_3. Python基础语法

    注释 我们在文言文中经常会看到注释,注释可以帮助读者对文章的理解.代码中的注释也是一样,优秀的代码注释可以帮助读者对代码的理解.当然在代码编写过程中,注释的使用不一定只是描述一段代码,也可能的是对代码 ...

  6. python语言用什么关键字来声明一个类_Python语言和标准库(第三章:类和对象)...

    python如何将函数和数据整合在一起,并且通过一个对象的名称访问它们. 如何和为什么使用类与对象,以及他们如何使编程人员易于多种情形下编写和使用程序. 3.1考虑编程 现在要在python中创建一个 ...

  7. python语言用什么关键字来声明一个类_python使用什么关键字定义类

    什么是类? 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下:class ...

  8. 在python中可以用什么关键字来声明一个类_python里的raise是什么意思

    我们在开发当中经常会遇到一些未知或已知的错误,比如用requests发送请求时可能会出现异常,或者某个程序计算时出现分母为0的情况.面对各种奇形怪状的错误,高级语言都会有一个抛出错误的机制.在Pyth ...

  9. 在python中可以用什么关键字来声明一个类_Python 定义类

    说明 Python 教程正在编写中,欢迎大家加微信 sinbam 提供意见.建议.纠错.催更. 类是面向对象开发的核心思想,可以解决我们现实生活的复杂问题.在了解了类的基本概念,我们来学习一下怎么定义 ...

最新文章

  1. 《中国管理安全服务(MSS)市场研究报告2010》读后感
  2. java代码执行linux命令_java执行Linux命令的方法
  3. [html] 使用button当按钮和使用div当按钮有什么区别?
  4. PHP配置,php.ini以及覆盖问题
  5. apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们
  6. 耳机音量过大降低听力?世界卫生组织推出新政策
  7. VS2008 Web Application和Web Site的区别[转]
  8. python一个函数调用另一个函数_python下如何在目录下让Python文件去调用另一个文件内的函数或类...
  9. selenium课程笔记3-使用selenium中的webdriver对浏览器操作-页面元素定位及操作
  10. 力扣-179 最大数
  11. java入门书籍《java语言程序设计 基础篇》原书第10版 强烈推荐
  12. 直播无线领夹式麦克风
  13. python的空语句_Python 函数返回空值
  14. 北京航空航天大学计算机学院保研,北京航空航天大学计算机学院(专业学位)计算机技术保研...
  15. linux 性能分析工具——perf
  16. 用C语言求出0~999999之间的所有“水仙花数”并输出。
  17. autojs微博_autojs使用intent打开新浪微博的用户任务中心scheme的详细过程
  18. 35 个非常实用的 Shell 拿来就用脚本实例!
  19. oracle交换分区转移数据,oracle 分区交换-归档数据
  20. 安装Virtualbox出现严重错误

热门文章

  1. 如何了解 ![CDATA[ ]]的作用?
  2. Digest Authentication 摘要认证(转载)
  3. Paas概念和docker的关系
  4. 印度智能机市场 手机大佬们抢夺的下一站
  5. Python学习 Python3.5+PyQt5环境--------02、代码与界面GUI分离
  6. OpenWrt 软路由 IPV6设置
  7. NVR硬盘录像机固态硬盘选型
  8. 动规——【USACO3.3.5】A Game游戏 IOI'96
  9. Control-M使用手册
  10. CG100-13款 福特翼搏 CN15 气囊电脑