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静态成员与实例成员的更多相关文章

  1. 函数, arguments对象, eval,静态成员和实例成员

    函数创建: 3种创建函数的方式    * 直接声明函数 function funcName(/*参数列表*/){ //函数体 } * 函数表达式 var funcName = function(){ ...

  2. C++中类的静态成员与实例成员的区别

    C++中类的静态成员与实例成员的区别 1.有static修饰的成员变量或成员函数称为静态成员. 2.在内存中,类的静态数据成员占有一块特定的内存空间,被该类的所有实例(对象)共享.而同一个类的不同对象 ...

  3. JS高级. 03 混入式继承/原型继承/经典继承、拓展内置对象、原型链、创建函数的方式、arguments、eval、静态成员、实例成员、instanceof/是否在同一个原型链

    继承:当前对象没有的属性和方法,别人有,拿来给自己用,就是继承 1 混入式继承 var I={ }; var obj = { name: 'jack', age:18, sayGoodbye : fu ...

  4. 关于javascript中静态成员和实例成员的详细解释

    关于javascript中静态成员和实例成员的详细解释  在我们了解什么是静态成员和实例成员之前,我们首先来了解一下什么是实例? 实例就是由构造函数创建出来的对象. 例如案例中 p 就是实例: fun ...

  5. c# 静态成员和实例成员的区别

    静态成员也称为共享成员,例如静态属性 静态字段 静态方法:静态成员可以在类的实例之间共享. 静态类中只能有静态成员,不能有实例成员,因为静态类不能进行实例化: 在非静态类中 即可以有静态成员 也可以有 ...

  6. JS高级——静态成员与实例成员

    静态成员:构造函数的属性和方法 实例成员:实例化之后对象的属性和方法 // $("#id").css(); // $("#id").text(); // $.t ...

  7. js静态成员和实例成员

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. C#扫盲之:静态成员、静态方法、静态类、实例成员及区别

    文章目录 1.静态成员.实例成员 2.静态类 3.类的静态成员和非静态成员区别 --------------------------------------分割线------------------- ...

  9. 【转载】C#扫盲之:静态成员、静态方法、静态类、实例成员及区别

    文章目录 1.静态成员.实例成员 2.静态类 3.类的静态成员和非静态成员区别 --------------------------------------分割线------------------- ...

随机推荐

  1. JAVA核心问题(一)反射之引言 构造函数

    反射,简单来说,就是在运行时获取Class对象的所有属性和方法,无论公有私有.虽然是一个基础问题,在这里还是全面的记录一下,认真对待! 获取构造函数 构造函数大致分为两种,public和非public ...

  2. yum-内网yum源服务器配置(CentOS6.5)

    一.安装apache服务1.安装httpd服务 yum -y install httpd (纯内网用rpm包安装也可以) 2.启动httpd服务 service httpd start 二.挂载完整的 ...

  3. Android-普通变量与普通方法内存图

    描述Worker对象: package android.java.oop11; // 描述Worker public class Worker { public String name; public ...

  4. 基于Docker+Jenkins+Gitlab搭建持续集成环境

    随着DevOps理念和敏捷理念的发展,我们希望通过自动化技术,加快项目的迭代.尤其是当使用微服务方案后,面临在大量的项目构建和部署工作,借助于jenkins的持续集成,可以快速把应用打包成docker ...

  5. GC垃圾回收机制,iOS内存管理。

    问题: MRC中通过调用静态方法创建的新对象,不再使用时需要对其发送release消息吗? 不需要,因为约定静态方法创建的对象会自动将其放入自动释放池,即已对其发送autorelease消息,因此不可 ...

  6. 解决C#调用执行js报检索 COM 类工厂中 CLSID 为 {0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC} 组件失败

    最近做了一个模拟请求的网站简化原网站的繁琐数据,提出有用的数据简单展示并完成post.由于原网站数据有js加密,所以我抓出原网站的js解密方法,由C#调用js得到解密后的数据. 整个抓包的框架是用的苏 ...

  7. Java 8 停止维护,Java 9 难产,IDEA 2018 发布,还有……

    祝大家五一劳动节快乐,工作顺利! 又到了总结上个月干货的时候了,这个月我们带来了各种Java技术干货,各种送书抽奖福利,各种面试题分享,各种最新动态资讯等. 5.1重磅活动 | 区块链免费送书 &am ...

  8. 根据iPhone6设计稿动态计算rem值

    rem 单位在做移动端的h5开发的时候是最经常使用的单位.为解决自适应的问题,我们需要动态的给文档的更节点添加font-size 值.使用mediaquery 可以解决这个问题,但是每一个文件都引用一 ...

  9. .NET内存管理、垃圾回收

    1. Stack和Heap    每个线程对应一个stack,线程创建的时候CLR为其创建这个stack,stack主要作用是记录函数的执行情况.值类型变量(函数的参数.局部变量 等非成员变量)都分配 ...

  10. 异步与并行~CancellationTokenSource对线程的作用

    返回目录 说起CancellationTokenSource我们应该不会陌生,对于Thread,Task来说,我们启动一个线程去做一些事,如果希望它在某个阶段去被动的停止,可以使用这个Cancella ...