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. JavaWeb环境搭建(作业八)

    1.JDK下载配置: (1)在官网下载jdk. (2)安装jdk.双击下载好的jdk,中间会选两次安装路径,一次是装jdk,一次是装jre.记住安装的路径. (3)配置环境变量. 1.在我的电脑右键属 ...

  2. 源码分析MySQL mysql_real_query函数

    目录 目录 1 1. 前言 1 2. 调用路径 2 3. MAX_PACKET_LENGTH宏 2 4. DBUG_RETURN宏 3 5. COM_QUERY枚举值 3 6. mysql_query ...

  3. RobotFramework+Selenium2软件安装教程

    1.安装python 必须是 2.7 版本    设置环境变量:F:\software\Python27;F:\software\Python27\Scripts;    重启电脑: 2.安装wxPy ...

  4. 项目Alpha冲刺(团队2/10)

    项目Alpha冲刺(团队2/10) 团队名称: 云打印 作业要求: 项目Alpha冲刺(团队) 作业目标: 完成项目Alpha版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 ...

  5. Android 和 iOS 实现录屏推流的方案整理

    一.录屏推流实现的步骤 1. 采集数据 主要是采集屏幕获得视频数据,采集麦克风获得音频数据,如果可以实现的话,我们还可以采集一些应用内置的音频数据. 2. 数据格式转换 主要是将获取到的视频和音频转换 ...

  6. Navicat Premium Mac V12.0.22.0 中英文破解 亲测可用

    换了Mac电脑后网上找了好些个 Navicat Premium 破解版本, 特别是CSDN上要积分下载的也不能用,浪费积分下,都是些坑爹破解方法,浪费了好些时间,今天介绍看到的一套有效的破解过程 1. ...

  7. JavaScript使用浏览器内置XML解析器解析DOM对象

    所有现代浏览器都内建了供读取和操作 XML 的 XML 解析器.解析器把 XML 转换为 XML DOM 对象 (可通过 JavaScript 操作的对象). 一.获取DOM对象 XMLHttpReq ...

  8. 通过用jQuery写一个页面,我学到了什么

    概述 前几天面试,hr发来一个测试文件,让我做做看.我一看,其实就是根据PSD需求写一个页面,再加上一些互动效果即可. 刚好我之前学了切图,jquery等知识还没练手过,于是高兴的答应了. 最后花了3 ...

  9. VRRP&HSRP

    HSRP 活跃路由器和备用路由器都会向组播地址 224.0.0.2  UDP 1985  端口发送hello消息. VRRP组中有一台主用路由器(Master),以及一台或多台备用路由器(Backup ...

  10. lable标签的用途

    lable标签的用途:为iput输入框元素定义标注: label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本,就会触发此控件.就是说,当用户选 ...