java 静态成员不能调用 非静态成员_为什么静态成员不能访问非静态成员
首先static的成员是在类加载的时候初始化的,JVM的CLASSLOADER的加载,首次主动使用加载,而非static的成员是在创建对象的时候,即new 操作的时候才初始化的;
先后顺序是先加载,才能初始化,那么加载的时候初始化static的成员,此时非static的成员还没有被加载必然不能使用,而非static的成员是在类加载之后,通过new操作符创建对象的时候初始化,此时static 已经分配内存空间,所以可以访问!
简单点说:静态成员属于类,不需要生成对象就存在了.而非静态需要生成对象才产生. 所以静态成员不能直接访问. 下面说说静态的特点:
1.随着类的加载而加载 也就是,说静态会随着类的消失而消失,说明静态的生命周期最长 2.优先于对象的存在 明确一点:静态是先存在的对象是后存在的 3.被所有对象共享 4.可以直接被类名多调用
实例变量和类变量的区别 1.存放位置 类变量随着类的加载存在于方法区中,实例变量随着对象的对象的建立存在于堆内存里 2.生命周期 类变量生命周期最长,随着“类”的加载而加载,随着类的消失而消失 实例变量随着“对象”的消失而消失
静态的使用注意事项: 1.静态方法只能访问静态成员(包括成员变量和成员方法) 非静态方法可以访问静态也可以访问非静态 2.静态方法中不可以定义this,super关键字 因为静态优先于对象存在,所以静态方法中不可以出现this,super关键字 3.主函数是静态的。 静态的利弊 利:对 对象的共享数据进行单独空间的存储,节省空间,没有必要没一个对象中都存储一份 可以直接被类名所调用 弊:生命周期过长,访问出现局限性(只能访问静态)
java 静态成员不能调用 非静态成员_为什么静态成员不能访问非静态成员相关推荐
- java中如何调用自身结构_如何在Java中的自定义异常中设置我自己的消息,可以检索我的getMessage()但是没有使用构造函数,有什么办法吗?...
我刚学习 Java中的异常处理.我想知道的不是尝试说: throw new Exception("My Message"); 和 String message=ex.getMess ...
- java 找出调用的方法_如何找到用Java调用给定方法的所有方法?
小编典典 为了分析字节码,我建议使用ASM.给定要分析的类列表,可以使访问者找到您感兴趣的方法调用.下面是一个分析jar文件中类的实现. 请注意,ASM使用带有'/'而不是'.的internalNam ...
- java正则表达式非贪婪_正则表达式的贪婪与非贪婪匹配
1.什么是正则表达式的贪婪与非贪婪匹配 如:String str="abcaxc"; Patter p="ab.*c"; 贪婪匹配:正则表达式一般趋向于最大长度 ...
- java 成员变量调用其他类方法6_方法内部类中不能访问外部类的成员变量。
[单选题]下面哪一个是正确的类的声明? [多选题]关于super关键字以下说法哪些是正确的? [其它]军训专题摄影 要求上交一组(5-10张)军训照片,表现学生军训的刻苦,坚韧的意志品质和精神面貌. ...
- 控制层远程调用业务层_如何应用数据访问服务层分离系统中的业务层和持久层之间耦合关系...
软件项目实训及课程设计指导--如何应用数据访问服务层分离业务层和持久层之间耦合关系 作者已经在本系列文章<软件项目实训及课程设计指导--如何正确地设计J2EE应用系统持久层中的各个组件结构及关系 ...
- java中函数的调用,java中如何调用函数
java动态调用函数,Java 中使用动态代码,java函数调用,java中如何调用函数 如何在 Java 中调用 C 函数 宗薇 [期刊名称]<网络新媒体技术> [年(卷),期]2000 ...
- java基础 第八章(静态成员的调用 、 封装)
一.静态成员的两种调用. 1. 对象.成员变量 = 值; 例:stu1 . name = "java"; 2.类名.成员方式; // 不需要new就可以直接用这种方式调用,调用 ...
- java静态方法调用非静态变量_[java]静态方法访问非静态方法的方法
是不是是有点拗口哈,在刚开始的开发中,经常会碰到"无法访问非静态方法",如下: Test.java public Test{ public void notStatic(){ Sy ...
- C++静态成员函数访问非静态成员的几种方法
大家都知道C++中类的成员函数默认都提供了this指针,在非静态成员函数中当你调用函数的时候,编译器都会"自动"帮你把这个this指针加到函数形参里去.当然在C++灵活性下面,类还 ...
最新文章
- 微生物领域非顶级期刊概述
- java读取Properties文件及赋值
- JavaScript标准库系列——RegExp对象(三)
- 12C OCP 1Z0-063 题库(8月以前)
- 安卓盒子运行 linux,全志 Allwinner A20 机顶盒刷入原生 Debian
- php 替换某一行,PHP中如何替换换行符?
- leetcode 1239. Maximum Length of a Concatenated String with Unique Characters | 1239. 串联字符串的最大长度(回溯)
- mysql中清空数据库,并重置主键为1
- 零基础学python书籍-5本好书------Python零基础到入门必读Python书籍!
- 秒懂文件路径 ‘/‘ , ‘./‘ , ‘../‘ 的区别
- python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
- python统计三国演义中人物出现的频次
- Ubuntu18.04安装QQ For Linux
- 幸福三月丨盐城北大青鸟女神节快乐!
- FireStart教程:基于SharePoint的出差报销流程五
- 面试被HR问:你有什么优缺点,该如何作答
- 万兴pdf编辑解压后打不开_PDF文档无法编辑的原因和解决方案
- 中国易切削钢行业发展趋势及投资前景分析报告(2021-2026年)
- 营销玩法|世界杯期间产品如何提高互动性?
- 博客嵌入可以自适应的b站视频
热门文章
- Acwing第 14 场周赛【完结】
- 【PAT乙级】1019 数字黑洞 (20 分)
- MySQL查询的进阶操作--联合查询
- lambda表达式的日期问题
- unity能连jsp吗_Unity3D与JSP TomCat服务器传递数据和文件( 一 ) 建立Java服务器
- numpy学习3:对象属性和基本数据类型
- Struts2中配置默认Action
- JavaScript教程之DOM和BOM
- Handler消息传递机制(二)Handler,Loop,Message,MessageQueue的工作原理
- Java对【JSON数据的解析】--Gson解析法