实例

package java0806;
public class staticDemo {int a =1;         static int static_b =2;    //静态变量//演示“普通方法可以访问 静态和非静态的变量和方法”public int fun1() {int c =3;              //局部变量cSystem.out.println("调用了普通方法 a+b="+(a+static_b));static_fun2();         //普通方法访问静态方法return a+static_b;     //普通方法可以访问/调用静态b和非静态的变量a}//演示"静态方法不能访问非静态变量"public static int static_fun2() { //静态方法System.out.println("调用了静态方法="+static_b);return static_b;      //静态方法可以访问静态变量b//add();             //语法错误,静态方法不能访问实例方法//return a-b;         //语法错误,静态方法不能访问/调用非静态变量a。/*Cannot make a static reference to the non-static field a*change 'a'to static*/}public static void main(String[] args) {staticDemo duixiang = new staticDemo();System.out.println("----类能直接访问的只有静态成员----");// System.out.println(staticDemo.a);   //报错,类不能直接访问属性,需要类的对象去访问//  staticDemo.add();                    //报错,类不能直接访问方法,需要类的对象去访问System.out.println("类直接访问静态变量 ="+staticDemo.static_b);   staticDemo.static_fun2();           //类直接访问静态方法System.out.println("\n"+"----用对象去访问静态/非静态的属性和方法----");System.out.println("对象直接访问并修改 非静态变量  ="+(duixiang.a=10));System.out.println("对象直接访问并修改 静态变量 ="+(duixiang.static_b=20));//有黄色提示,如下截图duixiang.fun1();                  //对象直接访问非静态方法duixiang.static_fun2();                //对象直接访问静态方法     //有黄色提示,如下截图}
}


调用关系:
(这里普通方法可以访问静态方法,没有画线。类似于普通方法访问静态变量)
(这里静态方法不能访问普通方法,没有画线。类似于静态方法不能访问成员变量)

一、名词概念

  1. 类 class
  2. 类的实例 = 对象object= 实例instance
  3. 方法method:一般面向对象 (又叫函数function:一般面向过程)
  4. 变量(JAVA中)= field = 属性

3种变量类型:
局部变量,方法体中定义的
成员变量(实例变量,非静态变量),在类中& 方法体之外& 无static
类变量=static变量=静态变量,类中& 方法体之外 &有static。
该类所有对象共有(一处修改,原始值改变)

2种方法类型:
普通方法(实例方法)= 无static修饰的方法
静态方法=static修饰的方法

访问=调用

二、static 修饰符

static 定义属性:

什么是静态变量:
1、static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。
2、静态变量也被称为类变量。
3、局部变量不能被声明为 static 变量。
作用:
在创建类的多个对象时,用static修饰的常量在内存中只有一份拷贝。
不用static修饰则可能有多份拷贝。
注:
任何一个对象修改了静态属性X( 对象.X ),其他对象在使用X时,X也被改变。
体现了:静态属性是所有对象共有。 (也可通过 类.X 来修改类属性的值)

static 定义方法:

什么是静态方法:
1、static 关键字用来声明独立于对象的静态方法。
2、静态方法不能使用类的非静态变量。
3、静态方法从参数列表得到数据,然后计算这些数据。
作用:
用static 修饰的方法可以直接被调用。
不用static修饰的需要先实例化一个对象后才可以被调用。

用static的最大特点:

①static的属性或方法可以由类名(类名.方法 ,类名.属性)直接调用/访问,而不是对象名称。
因为static成员(对象和方法)属于类而不属于对象。
因为静态的在对象创建前就存在了,不依赖对象是否被创建(不能依赖任何实例)

②static属性是一个共享属性。
(普通方法和静态方法都能调用)
普通方法可以访问/调用 静态和非静态的变量
静态方法可以访问/调用静态变量
静态方法不能访问/调用非静态变量。
总结:静态成员不能访问非静态成员

static main方法:

Static表示main()是一个静态方法,不创建类的对象仍可执行(可以不依赖对象而存在)。
public static void main(String[] args) {}
public JVM要调用类的main()方法,所以public
static JVM执行时不创建(依赖)对象,所以static (由类名直接调用)
String[] args接受运行时的参数

static代码块:

不在任何方法体中
类被载入时,静态代码块被执行,且只执行一次。
常用来进行类属性的初始化。

static调用/访问的相关内容(wps备份)相关推荐

  1. 设计模式相关内容介绍

    1.设计模式相关内容介绍 1.1. 设计模式概述 创建型模式--------买建筑材料 用于描述------怎样创建对象,它的主要特点是----------将对象的创建与使用分离,这样可以降低系统的耦 ...

  2. android Wifi开发相关内容

    今天,简单讲讲android里如何使用WifiManager. 之前,我看代码时,看到了wifi相关的代码,发现自己对于这个内容的使用还很不熟悉,所以在网上查找资料,最终解决了问题.这里记录一下. 移 ...

  3. linux/android驱动工程师面试相关内容总结

    理论的东西不常用时就会慢慢的被遗忘,但是找工作就是一个如何让别人相信自己的过程,理论知识就是一个非常重要的途径. 一次次机会在错失,每次想找工作时,刷一下简历就去面试了,一次次因为理论被鄙视,也该长长 ...

  4. WPS加载项是如何实现调用业务系统JS的 WPS通信原理

    WPS加载项是如何实现调用业务系统JS的 WPS通信原理 wpssdk 一.业务系统调用WPS原理 二.WPS调用业务系统JS的原理 End 写在前面:JSAPI金山办公官方群 756432763 欢 ...

  5. Django模板语言相关内容

    Django模板语言相关内容 Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言 ...

  6. OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 清单5.9-5.28

    OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 清单5.9-5.28 文章目录 OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 ...

  7. typescript---配置类相关内容(十五)

    配置类相关内容 tsconfig.json文件 使用rollup打包TS文件 安装依赖 步骤 安装依赖 创建package.json文件 创建目录和配置文件 创建ts配置文件 使用webpack打包T ...

  8. Android studio根据文本提取出的关键词在sqlite数据库中查找相关内容

    Android studio根据文本提取出的关键词在sqlite数据库中查找相关内容 一.介绍 二.Android studio连接.操作和查看sqlite数据库 三.在数据库中查找相关内容 四.运行 ...

  9. 数据挖掘课程学习——序列模式发现相关内容调研

    数据挖掘课程学习--序列模式发现相关内容调研 本次实验完成"序列模式发现"的相关内容调研,主要内容包括:什么是序列模式发现:应用在哪些领域:经典的算法有哪些:应用在怎样的数据上:得 ...

最新文章

  1. iqoo升级鸿蒙,vivo iQOO 3升级更新PD1955_A_1.12.27固件rom全量刷机包
  2. zabbix学习笔记(5)
  3. 免费云服务器无限流量,云服务器弄无限流量
  4. python安装modify setup选哪-python 之禅 import this
  5. 图像处理中的跨度(stride)
  6. Bootstrap table 行编辑导航
  7. MPU:鸿蒙轻内核的任务栈的溢出检察官
  8. ZooKeeper学习总结(3)——ZooKeeper常见面试题
  9. jquery 获取元素图片_【jQuery】获取图片真实宽高
  10. php中的字符串常用函数(四) ord() 获得字符的ascii码 chr()获取ascii码对应的字符...
  11. [转帖]VMware时间不准问题的解决方法
  12. jquery css,attr,val方法
  13. 为什么人家每天睡觉是自然醒,我每天是穷醒?
  14. Android知识点 121 —— AlarmManager与RTC唤醒
  15. 如何运行python 复制粘贴_Python执行选择性粘贴
  16. 读书笔记:100岁前的健康指南
  17. android重力感应横竖屏,Android开发 apk强制横竖屏
  18. 蓝牙服务器维修理地址,云服务器蓝牙
  19. [创业-33]:股权、期权、期股的区别
  20. 爱奇艺视频与腾讯视频竞品分析

热门文章

  1. process corner工艺角
  2. echart 桑基图操作事项
  3. 公司要上线个新产品功能,后续的运营将由你来跟进。在项目推广前,你计划做哪些准备,具体描述一下。
  4. 华为荣耀9手机屏幕及电池更换
  5. JAVA实现开根号的两种方式:二分法以及牛顿迭代法
  6. python画图工具
  7. iOS-Xcode7安装CocoaPods
  8. 杂牌平板mt6797_平板的mtk6797是什么,和mt6797是一个么
  9. 一篇解双链表(0基础看)(C语言)《数据结构与算法》
  10. 各种金属颜色的RGB值