java static 修饰变量吗_Java面试 - static 修饰的变量和方法有哪些特点?

1、static修饰的变量和方法,在类加载时即被初始化,可直接通过类名.变量名和类型.方法名进行调用。

2、static修饰的变量,在类加载时会被分配到数据区的方法区。类的实例可共享方法区中的变量。如果static修饰的变量发生改变,那么所有类实例引用的变量都会一起发生改变。

3、static修饰的方法中不能使用this或super,static修饰的方法属于类的方法,而this或super只是对象的方法。

4、static修饰的方法不能引用非static 修饰的变量, 在类加载过程中,当static修饰的方法加载完成时,非static修饰的变量

还未加载,所以无法引用非static修饰的变量。

5、非static修饰的方法可以引用static 修饰的变量,在类加载过程中,static修饰的变量优先完成加载,所以当非static修饰的方法

完成加载后可以引用static 修饰的变量。

举例

假设Student 类有static 修饰的变量name和方法getName(String name), 那么是否可以直接通过类名调用呢?

public class Student {

private static String name;

private static void getName(){

System.out.println(name);

}

public static void main(String[] args) {

Student.name = "Jack Ma";

Student.getName();

}

}

运行结果:

Jack Ma

可见,static 修饰的变量和方法是可以直接通过类名调用的。

那么,在static 修饰的main方法内, Student 对象s1 和s2 是否可以直接调用static 修饰的变量和方法呢?

public class Student {

private static String name;

public static void getName(){

System.out.println(name);

}

public static void main(String[] args) {

Student s1 = new Student();

s1.name = "大黄";

s1.getName();

Student s2 = new Student();

s2.name = "二黄";

s2.getName();

}

}

运行结果:

大黄

二黄

从运行结果来看,在static 修饰的main方法内,Student 对象s1 和s2 是可以直接调用static 修饰的变量和方法。

如果此时修改static 修饰的变量name方法,那么Student对象s1, s2调用的变量name是否也会一起被修改呢?

public class Student {

private static String name;

public static void getName(){

System.out.println(name);

}

public static void main(String[] args) {

Student s1 = new Student();

// 修改static 修饰的变量name

s1.name = "Jack";

s1.getName();

Student s2 = new Student();

s2.getName();

}

}

运行结果:

Jack

Jack

从运行结果来看,当对象s1修改了在方法区(数据共享区)的static变量name,那么对象s2调用的static变量name必然会一起被修改。

在static修饰的方法中是否可以应用this呢?

09da096b600b625987967ae377444ac5.png

在static修饰的方法中是否可以应用super呢?

1287e99bc3767fec1419014dfe6d9f2f.png

在static修饰的方法是否能引用非static 修饰的变量呢?

c31734a3dbfafb95c36c53775b956101.png

非static修饰的方法是否能引用static修饰的变量呢?

public class Student {

private static String name;

private int age;

public void getInfo(){

// 非static 方法getInfo()引用static修饰的变量name

System.out.println("姓名:"+ name + ", 年龄" + age);

}

public static void main(String[] args) {

Student s1 = new Student();

//通过类名Student直接调用static 变量 name

Student.name = "Jack Ma";

s1.age = 19;

s1.getInfo();

}

}

运行一下

姓名:Jack Ma, 年龄19

可见,非static修饰的方法可以引用static修饰的变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓手机如何防盗_如何设置安卓手机各版本USB调试模式

关注我们,获得更多资讯在这篇教学中,小蛙会详细向大家讲解USB调试模式的开启及关闭方法,以及其用途。在这个过程中,由于Android 机型众多,所以无办法列举太多。但请相信小蛙,开启USB 调试的操作方法基本上是…

iphone同步助手_iPhone 与安卓手机之间如何进行资料迁移

​上一期我们介绍了 iPhone 之间和安卓手机之间如何备份和进行资料迁移,很多朋友都留言说想知道 iPhone 与安卓手机之间如何进行资料迁移,看来双十一大家都剁手换了手机啊,嘴上说着不要,到头来还是管不住自己的手。同操作系统的手…

当前记录集不支持更新_不断中招的你还放心升级win10吗?wi10近期更新问题及解决办法...

.专于心 精于形.Win10用户升级5月更新后屏幕出现蓝绿伪影:或跟调节色温软件有关随着五月更新升级范围的扩大,一些问题也是加速展现在微软面前。现在,有不少Windows 10用户反馈称,自己升级至五月更新后,屏幕出现了蓝绿伪…

易班自动答题脚本_如何使用python进行自动网上考试

前言文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者: HIS HackerPS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun背景说明在github上发现一…

两个子集pom互相调用_声明式服务调用组件Feign

什么是Feign? Feign是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端。Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。什么是OpenFeign?OpenFeign是SpringCloud在Feign的基础上支持了SpringMVC的…

安卓手机主题软件_安卓手机安装不了软件原因和方法

安卓手机不能安装软件其实有很多的原因,排除可以避免的原因(google授权),其他的硬件设施的支持,也可能出现软件不能安装的现象。有的是可以解决的,但有的是强制性原因,那就没有办法了。下面就来分析下软件不能安装的几…

excel插入页码_Excel里毫不起眼的页眉页脚,居然有这3种高能用法!

点击上方蓝字关注星标★不迷路本文作者:小敏本文编辑:小叮一说到页眉页脚,你脑海中出现的,是不是这样一个画面?规规矩矩的页眉页脚,比如,公司 logo 或者文件名称放在页眉位置,底部加…

前端怎么获取cookie的值_京东购物小程序cookie方案实践(附Demo)

一、前言早期为了解决“会话保持”的需求,社区中出现了「cookie 方案」并最终成为 W3C 标准:当某个网站登录成功后,客户端(浏览器)收到一个 cookie 标识(文本)并保存下来,在后续请求中会自动带上这个字段,由此 Web 后台…

R 语言怎么保存工作目录到当前路径_【R语言基础】01.R语言软件环境搭建及常用操作...

一、R语言简介R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果:表明R语言是该领域近年来最受欢迎的软件之一。R语言的优势:(1)…

ssm java上传图片预览_ssm文件上传_上传图片

1、搭建好ssm框架2、导入文件上传所需依赖commons-fileuploadcommons-fileupload1.4commons-iocommons-io2.6commons-langcommons-lang2.63、springmvc的xml文件中配置文件所需的类4、jsp界面对应其次第二个文件上传对应的就是第二个div里面的内容4、form表单配置注意&#xff…

平台允许同时在线人数 显示_12万人同时在线,游戏未正式发售,国产“糖豆人”已诞生?...

《派对动物》目前在Steam平台上开启了试玩阶段,游戏离正式发行还有一段时间。这款游戏适合多人作战,正如它的名字一样《派对动物》。不过从游戏角色的形象设定上来看,有一些像学龄前儿童喜爱的动画片,因此并没有人给这部游戏太多的…

feign post 传递空值_听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺

文章来源:听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺原文作者:陈哈哈来源平台:CSDN我有一个老朋友,我们叫他熊猫。发际线及将触碰到后脑勺,大框金丝眼镜也掩盖不住那黝黑的眼圈,显得格外的…

java必知必会_Java构造器必知必会

在面向对象编程中,编程人员应该在意“资源”。比如String hello "hello";在代码中,我们很在意在内存中String类型的hello,它是有一个生命周期的。在它生命周期中,初始化(initialization)和清理(cleanup)是两…

post 请求 argument type mismatch_Flask-RESTful 请求解析

一、基本参数from flask.ext.restful import reqparseparser reqparse.RequestParser()parser.add_argument(rate, typeint, helpRate cannot be converted)parser.add_argument(name, typestr)args parser.parse_args()二、必需的参数parser.add_argument(name, typestr, re…

易语言单窗口单ip软件源码_梦幻西游怎样多开ip转金?十大攻略秘籍速来看

各位好!,我依然是小芝麻,近期几日总是有盆友在私聊我,“小芝麻看着你的转金专缉,那么多方式,能够 帮我建议一类,最安全可靠能用的吗?”“小芝麻,你的转金攻略大全&#x…

maven不配置环境变量可以使用吗_哪些土地可以不缴纳土地使用税?包括农村地吗?...

根据法律规定,县城以上城市进行土地开发时,需要征收土地使用税,对于公园、名胜、寺庙及文教、卫生、社会福利等单位使用的土地,城镇、街道、公共设施用地、铁路、机场、港区、车站、管理交通运输用地及水利工程,农、林…

小米答题题库_拼多多果园答题题库74(每日更新)

135编辑器拼多多答题题库七十四每周我们都会做一个总和的题库;希望大家持续关注!您的关注就是我们的动力!“成语之乡”指的是我国哪座城市?1.河北邯郸 2.安徽蚌埠答:河北邯郸邯郸位于河北省南部,是战国时期…

java 接口 print_Java-接口练习

编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法voidprintCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapi…

filestorage 修改吧部分数据_数据库系统概论课后答案||第五版

关注公众号,更多资源分享回复关键词:数据库系统概论即可获取相应资源其他章节关注公众号获取第 1 章 绪论1 . 试述数据、 数据库、 数据库系统、 数据库管理系统的概念。答:( l ) 数据( Data ) : 描述事物的符号记录称…

directshow 旋转_宜昌中心加工机+A:B型号,高速旋转接头加工

杭州浙稳贺机械配件有限公司为您详细解读MrGAtc宜昌中心加工机A:B型号的相关知识与详情,但是,0.1-0.15 N/ mm范畴的密封唇载荷对新的密封是可承受的;关于80mm曲径的轴,那转换为25-40N范畴的总径向载荷。很多旋转接头弹性体唇形密封…