Java静态成员与实例成员
Java静态成员与实例成员
类是一种类型,类中定义的所有成员都归此的对象所有,这些成员成为实例成员;而某些成员想要被所有类的所有对象共享,此时的成员不属于某个对象,而是属于整个类,这些成员成为静态成员。
实例成员:需要通过对象进行访问和调用
静态成员(static修饰符修饰):不需要对象可以直接调用
例如:
package java学习; public class test2 { double a; //a为实例成员 static double c; //c为类成员(即静态成员) public static void main(String[] args) { // TODO Auto-generated method stub test2 first = new test2(); //实例化一个对象 first.a = 0.5; first.c = 1.0; //通过对象调用 c = 1.5; //直接调用 System.out.println(first.a); System.out.println(first.c); System.out.println(c); } }
输出结果:
静态成员c首先通过对象访问赋值为1.0,但是其后又直接调用c赋值1.5,故test.c也为1.5,静态变量分配空间唯一,某个对象的静态变量值改变,所有对象的值都将发声变化。
静态方法(函数)
静态方法不在某个特定的对象上进行操作,故引用this会发生错误;
调用静态方法和静态变量一样不需要通过对象调用;
静态方法中只能访问静态成员,不可以访问实例成员。
package java学习; public class test2 { double a , s; //a为实例成员 static double c; //c为类成员(即静态成员) static void sum1(double a) { double s = a * a; //静态方法中只能访问静态成员,不可以访问实例成员 System.out.println(s); } void sum2(double a) { this.a = a; c = a; //实例方法中访问静态成员 System.out.println(s); } public static void main(String[] args) { // TODO Auto-generated method stub test2 first = new test2(); //实例化一个对象 first.sum1(0.5); sum1(0.6); //直接调用函数 first.sum2(0.8); } }
运行结果:
Java静态成员与实例成员的更多相关文章
- 函数, arguments对象, eval,静态成员和实例成员
函数创建: 3种创建函数的方式 * 直接声明函数 function funcName(/*参数列表*/){ //函数体 } * 函数表达式 var funcName = function(){ ...
- C++中类的静态成员与实例成员的区别
C++中类的静态成员与实例成员的区别 1.有static修饰的成员变量或成员函数称为静态成员. 2.在内存中,类的静态数据成员占有一块特定的内存空间,被该类的所有实例(对象)共享.而同一个类的不同对象 ...
- JS高级. 03 混入式继承/原型继承/经典继承、拓展内置对象、原型链、创建函数的方式、arguments、eval、静态成员、实例成员、instanceof/是否在同一个原型链
继承:当前对象没有的属性和方法,别人有,拿来给自己用,就是继承 1 混入式继承 var I={ }; var obj = { name: 'jack', age:18, sayGoodbye : fu ...
- 关于javascript中静态成员和实例成员的详细解释
关于javascript中静态成员和实例成员的详细解释 在我们了解什么是静态成员和实例成员之前,我们首先来了解一下什么是实例? 实例就是由构造函数创建出来的对象. 例如案例中 p 就是实例: fun ...
- c# 静态成员和实例成员的区别
静态成员也称为共享成员,例如静态属性 静态字段 静态方法:静态成员可以在类的实例之间共享. 静态类中只能有静态成员,不能有实例成员,因为静态类不能进行实例化: 在非静态类中 即可以有静态成员 也可以有 ...
- JS高级——静态成员与实例成员
静态成员:构造函数的属性和方法 实例成员:实例化之后对象的属性和方法 // $("#id").css(); // $("#id").text(); // $.t ...
- js静态成员和实例成员
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C#扫盲之:静态成员、静态方法、静态类、实例成员及区别
文章目录 1.静态成员.实例成员 2.静态类 3.类的静态成员和非静态成员区别 --------------------------------------分割线------------------- ...
- 【转载】C#扫盲之:静态成员、静态方法、静态类、实例成员及区别
文章目录 1.静态成员.实例成员 2.静态类 3.类的静态成员和非静态成员区别 --------------------------------------分割线------------------- ...
随机推荐
- Codeforces Round #485 (Div. 2) A. Infinity Gauntlet
Codeforces Round #485 (Div. 2) A. Infinity Gauntlet 题目连接: http://codeforces.com/contest/987/problem/ ...
- hdu 4027 Can you answer these queries?[线段树]
题目 题意: 输入一个 :n .(1<=n<<100000) 输入n个数 (num<2^63) 输入一个m :代表m个操作 (1<=m<<100 ...
- Apollo配置管理系统使用
- 微信小程序scroll-view 横向和纵向scroll-view组件
scroll-view为滚动视图,分为水平滚动和垂直滚动.注意滚动视图垂直滚动时一定要设置高度否则的话scroll-view不会生效.滚动视图常用的地方一般都是Item项比较多的界面,比如我的模块 主 ...
- Python——破解极验滑动验证码
极验滑动验证码 以上图片是最典型的要属于极验滑动认证了,极验官网:http://www.geetest.com/. 现在极验验证码已经更新到了 3.0 版本,截至 2017 年 7 月全球已有十六万家 ...
- 【BJOI2019】光线 模拟
题目大意:有一束光线要依次穿过$n$块玻璃. 第i块玻璃的透射率为$a_i$,反射率为$b_i$. 问你有多少光能最终穿过所有玻璃. 数据范围:$n≤5\times 10^5$,答案对$9982443 ...
- mint-ui Infinite scroll 重复加载、加载无效的原因及解决方案
1.无限滚动的运用场景: 一般运用在列表展示,有分页.下拉加载更多的需求中. 2.代码分析 代码很简单,实现了列表分页,数据加载完之后显示数据状态 <template> <div c ...
- [转]idea导入eclipse的web项目
https://www.cnblogs.com/xiaoBlog2016/archive/2017/05/08/6825014.html 一.导入自己的web项目 步骤:File->New-&g ...
- JavaScript “跑马灯”抽奖活动代码解析与优化(二)
既然是要编写插件.那么叫做"插件"的东西肯定是具有的某些特征能够满足我们平时开发的需求或者是提高我们的开发效率.那么叫做插件的东西应该具有哪些基本特征呢?让我们来总结一下: 1.J ...
- maven-assembly-plugin的使用
maven-assembly-plugin使用描述(拷自 maven-assembly-plugin 主页) The Assembly Plugin for Maven is primarily in ...