静态的只能访问静态的(变量、方法);非静态的既可以访问静态的也可以访问非静态的

package cn.bdqn.demo01;public class StaticMethod {// 定义属性public String name;public static int age;// 定义方法public static void test() {//在静态方法中不能使用this和super关键字,因为static是属于类的,不是属于某一个对象// this.name = "张三";//this.age = 20;System.out.println("我是静态方法test()");}public static void demo() {// 在静态方法中可以直接调用本类中其它的静态方法test();// 在静态方法中不能直接调用本类中其它的非静态方法// ttt();// 在静态方法中不能直接访问本类中其它的非静态变量// System.out.println(name);// 在静态方法中可以直接访问本类中其它的静态变量System.out.println(age);System.out.println("我是静态方法demo()");}public void ceShi() {// 在非静态方法中可以直接调用本类中其它的非静态方法ttt();// 在非静态方法中可以直接调用本类中其它的静态方法test();// 在非静态方法中可以直接访问本类中其它的非静态变量System.out.println(name);// 在非静态方法中可以直接访问本类中其它的静态变量System.out.println(age);System.out.println("我是非静态方法ceShi()");}public void ttt() {System.out.println("我是非静态方法ttt()");}/** 综上所述: 静态的只能访问静态的(变量、方法);非静态的既可以访问静态的也可以访问非静态的*/}

静态方法:可直接通过类名访问

静态方法中不能使用this和super

不能直接访问所属类的实例变量和实例方法

可直接访问类的静态变量和静态方法

实例方法:通过实例访问

可直接访问所属类的静态变量、静态方法、实例变量和实例方法

静态方法必须被实现

模拟实现选民投票过程:一群选民进行投票,每个选民只允许投一次票,并且当投票总数达到100时,就停止投票

package cn.bdqn.demo02;public class Voter {//定义属性//选民姓名private String name;//统计选民投票的数量private static int count;//声明一个常量用来表示投票的总数,100票,固定不变的private static final int MAX_COUNT =100;//添加构造方法用来创建对象的public Voter(String name) {this.name = name;}//定义方法模拟投票public void vote(){if(count==MAX_COUNT){System.out.println("投票已经满100票,投票结束了");return;}else{count++;System.out.println("感谢"+this.name+"投递的第"+count+"票");}}//打印投票情况public static void printVoteInfo(){System.out.println("已经投递了"+count+"张票");}}
package cn.bdqn.demo02;public class VoterTest {public static void main(String[] args) {// 创建选民类对象Voter voter1 = new Voter("张三");Voter voter2 = new Voter("李四");Voter voter3 = new Voter("王五");Voter.printVoteInfo();voter1.vote();voter2.vote();voter3.vote();//循环创建97个Voter类对象,对象的名字叫v1 v2 v3 v4.....for(int i =1;i<=97;i++){Voter v = new Voter("v"+i);v.vote();}//创建Voter对象Voter test = new Voter("赵六");test.vote();Voter.printVoteInfo();}}

java静态与非静态相关推荐

  1. java中静态是什么,java中静态和非静态有什么区别

    首先我们先来说说jvm内存模型: jvm内存分为:方法区.堆.栈和程序计数器. 下面我们来简单的说说方法区.栈和堆: 方法区:是各个线程共享的区域,存放类信息/常量/静态变量: 栈:其实每个线程都会分 ...

  2. java 静态与非静态之间的访问规则简述

    java 静态与非静态之间的访问规则简述 1.静态与静态之间直接访问 2.非静态(实例级别)访问静态直接访问 3.静态访问非静态(实例级别),必须先创建对象再访问 package com.qfedu. ...

  3. java的静态与非静态 及其代码演示示例

    静态与非静态的概念 运行Java应用程序时,在实际的代码运行之前的一个步骤是加载类,具体点说,在Java SE 8的JVM中,需要先把类加载到Metaspace.如果类中有静态成员,加载类时会在hea ...

  4. 开发三年,java静态和非静态的这些弯弯绕绕你真的知道吗?

    问 Java 中,为什么不允许从静态方法中访问非静态变量? 了解特点 静态方法.属性:类加载时调用创建,通过类名直接调用,子类可继承不可重写 普通方法.属性:new对象时创建.注意new对象的时候 静 ...

  5. java 静态变量和非静态_Java中静态和非静态变量之间的区别

    变量为我们提供了程序可以操纵的命名存储.Java中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局.可以存储在该内存中的值的范围:以及可以应用于该变量的一组操作. 静态变量 静态变量也称为 ...

  6. C#基础--类/接口/成员修饰符,多态、重载、重写,静态和非静态

    C#基础--类/接口/成员修饰符,多态.重载.重写,静态和非静态 类/接口/成员修饰符 C#修饰符---接口: 接口默认访问符是internal 接口的成员默认访问修饰符是public C#修饰符-- ...

  7. 第十七节:易混淆的概念(静态和非静态、拆箱和装箱)

    一. 静态和非静态 1. 概念介绍 ① 静态类(被static修饰) vs  普通类(没有被static修饰) ② 静态成员:被static修饰的成员,比如:静态方法.静态字段等 ③ 普通成员(实例成 ...

  8. C# 静态和非静态的区别

    静态标记 – static //静态方法 public static void Max(){ } //非静态方法 public void Max(){ }//静态类 public static cla ...

  9. C# 面向对象编程 1 面向对象类,静态和非静态的区别,构造函数,new关键字 ,析构函数

    C# 面向对象编程 1 文章目录 C# 面向对象编程 1 1.面向过程-----> 面向对象 2.类 3.静态和非静态的区别 4.构造函数 5.new关键字 6. 析构函数 1.面向过程---- ...

  10. 火山PC静态调用非静态

    1.一个编辑框,一个按钮 2.建立静态方法 3.建立一个类,放非静态方法 4.静态调用非静态 如需要在同一个类中直接静态调用非静态,等大佬,封装相关模块 5.演示 本文转载自利快云,原文地址:点击阅读 ...

最新文章

  1. AQS分析(AbstractQueuedSynchronizer)(三)
  2. C# 动态调用webservice代码
  3. I2C驱动程序框架probe道路
  4. AndroidStudio设置不自动弹出 Documentation 窗口
  5. Redis和Memcache区别,优缺点对比
  6. 银行家舍入VS四舍五入(下):.NET发现之旅(四)
  7. 【计算机组成原理】指令系统
  8. idea2020.1使用Lombok注解,点击运行项目提示找不到get,set方法?
  9. matlab生成网络流量,BP神经网络 预测网络流量
  10. c语言根号11取值两位小数,用C语言将一个数开根号后再取倒数的方法
  11. 雅虎终于死了:从1000亿到破产贱卖,最后连名字都没
  12. BBU与RRU、RRH
  13. win7默认网关不可用_Win7自带图片查看器异常
  14. PHPer 为什么会被 Javaer 鄙视?
  15. Cygwin下安装包管理器apt-cyg
  16. 微信 html avi视频无法播放,是真的,微信可以发送高清.avi 了
  17. XBOX登录白屏,微软商店无法连接网络
  18. MU-MIMO是什么
  19. 第十三届蓝桥杯大赛软件赛省赛(C/C++ 大学B组)
  20. MFC封装功能成动态库相关问题汇总记录

热门文章

  1. 例7.6有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
  2. LONGLONG to char *
  3. C++ UML类图关系
  4. 基于Redis的BloomFilter实现
  5. python参考书推荐--父与子的编程之旅
  6. 产业安全专家谈|金融行业如何践行《反电信网络诈骗法》?
  7. style标签上的scoped属性
  8. 【堆】 大根堆和小根堆的建立
  9. Tomcat 端口号的修改
  10. 6687. 【JZOJ 省选模拟】树没了(tree)