我对static/final关键字的理解(一个类不同的对象,static修饰的变量,在一个对象中被改变了,对其他对象有无影响?)
我对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修饰的变量,在一个对象中被改变了,对其他对象有无影响?)相关推荐
- 黑马程序员_Java基础_this,super,static,final关键字
一,this关键字 1,当成员变量和局部变量重名时,可以使用this关键字来区分. this关键字代表的是本类对象,this一般是在一个函数中,哪个对象在调用this所在的函数,this就代表哪个对象 ...
- 编程:请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”...
Question:使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?". Answer: public ...
- final关键字_Java面试-谈谈对final关键字的理解
一.final简介 final意为最终的,不可变的. 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量). final修饰的类不可被继承 将一个类声明为final,其中 ...
- java static final关键字_Java的static与final关键字
版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 static:(静态修饰符)面向对象中static修饰的内容是隶属于类,而不是直接隶属于对象的,所以static修 ...
- 在python中可以用什么关键字来声明一个类_3. Python基础语法
注释 我们在文言文中经常会看到注释,注释可以帮助读者对文章的理解.代码中的注释也是一样,优秀的代码注释可以帮助读者对代码的理解.当然在代码编写过程中,注释的使用不一定只是描述一段代码,也可能的是对代码 ...
- python语言用什么关键字来声明一个类_Python语言和标准库(第三章:类和对象)...
python如何将函数和数据整合在一起,并且通过一个对象的名称访问它们. 如何和为什么使用类与对象,以及他们如何使编程人员易于多种情形下编写和使用程序. 3.1考虑编程 现在要在python中创建一个 ...
- python语言用什么关键字来声明一个类_python使用什么关键字定义类
什么是类? 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下:class ...
- 在python中可以用什么关键字来声明一个类_python里的raise是什么意思
我们在开发当中经常会遇到一些未知或已知的错误,比如用requests发送请求时可能会出现异常,或者某个程序计算时出现分母为0的情况.面对各种奇形怪状的错误,高级语言都会有一个抛出错误的机制.在Pyth ...
- 在python中可以用什么关键字来声明一个类_Python 定义类
说明 Python 教程正在编写中,欢迎大家加微信 sinbam 提供意见.建议.纠错.催更. 类是面向对象开发的核心思想,可以解决我们现实生活的复杂问题.在了解了类的基本概念,我们来学习一下怎么定义 ...
最新文章
- 《中国管理安全服务(MSS)市场研究报告2010》读后感
- java代码执行linux命令_java执行Linux命令的方法
- [html] 使用button当按钮和使用div当按钮有什么区别?
- PHP配置,php.ini以及覆盖问题
- apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们
- 耳机音量过大降低听力?世界卫生组织推出新政策
- VS2008 Web Application和Web Site的区别[转]
- python一个函数调用另一个函数_python下如何在目录下让Python文件去调用另一个文件内的函数或类...
- selenium课程笔记3-使用selenium中的webdriver对浏览器操作-页面元素定位及操作
- 力扣-179 最大数
- java入门书籍《java语言程序设计 基础篇》原书第10版 强烈推荐
- 直播无线领夹式麦克风
- python的空语句_Python 函数返回空值
- 北京航空航天大学计算机学院保研,北京航空航天大学计算机学院(专业学位)计算机技术保研...
- linux 性能分析工具——perf
- 用C语言求出0~999999之间的所有“水仙花数”并输出。
- autojs微博_autojs使用intent打开新浪微博的用户任务中心scheme的详细过程
- 35 个非常实用的 Shell 拿来就用脚本实例!
- oracle交换分区转移数据,oracle 分区交换-归档数据
- 安装Virtualbox出现严重错误