static关键字:

package com.lbj.javase07;
/*** "中国人"类* * 什么时候成员变量声明为实例变量呢?*      -所有对象都有这个属性,但是这个属性的值会随着对象的变化而变化【不同对象的这个属性具体的值不同】* * 什么时候成员变量声明为静态变量呢?*        -所有对象都有这个属性,并且所有对象的这个属性的值是一样的,建议定义为静态变量,节省内存的开销* * 静态变量在类加载的时候初始化,内存在方法区中开辟。访问的时候不需要创建对象,直接使用"类名.静态变量名"的方式访问。* * 关于java中的static关键字:*    1.static英语单词翻译为静态的*     2.static修饰的方法是静态方法*     3.static修饰的变量是静态变量*     4.所有static修饰的元素都称为静态的,都可以使用"类名."的方式访问,当然也可以用"引用."的方式访问【但不建议】* * @author 14811**/
public class Chinese {//身份证号【每一个对象的身份证号不同】//实例变量String id;//姓名【每一个对象的姓名不同】//实例变量String name;//国籍【每一个对象由于都是由"chinese类"实例化的,所以每一个中国人的国籍都是"中国"】//无论通过Chinese类实例化多少个java对象,这些java对象的国籍都是"中国"//实例变量【实例变量是一个java对象就有一份,100个java对选哪个,就有100个country】,分析这种设计方式有什么缺点?//实例变量存储java对象内部,在堆内存中,在构造方法执行的时候初始化//String country;//所以需要统一一个模板,属于中国人的模板//国籍【所有对象国籍一样,这种特征属于类级别的特征,可以提升为整个模板的特征,可以在变量前添加static关键字修饰】//静态变量,静态变量在类加载的时候初始化,不需要创建对象,内存就开辟了。//静态变量存储在方法区内存中static String country="中国";//构造函数public Chinese(){/** this.id=null;* this.name=null;* this.country=null;*/}public Chinese(String id,String name){this.id=id;this.name=name;}}

创建一个测试类:

package com.lbj.javase07;public class ChineseTest {public static void main(String[] args) {// TODO Auto-generated method stub//创建中国人对象1
//      Chinese zhangsan=new Chinese("1","张三","中国");
//      System.out.println(zhangsan.id+","+zhangsan.name+","+zhangsan.country);
//
//      Chinese lisi=new Chinese("2","李四","中国");
//      System.out.println(lisi.id+","+lisi.name+","+lisi.country);
//
//      Chinese wangwu=new Chinese("3","王五","中国");
//      System.out.println(wangwu.id+","+wangwu.name+","+wangwu.country);Chinese zhangsan=new Chinese("1","张三","中国");System.out.println(zhangsan.id+","+zhangsan.name+","+Chinese.country);Chinese lisi=new Chinese("2","李四","中国");System.out.println(lisi.id+","+lisi.name+","+Chinese.country);Chinese wangwu=new Chinese("3","王五","中国");System.out.println(wangwu.id+","+wangwu.name+","+Chinese.country);System.out.println(Chinese.country);//这样可以调用System.out.println(zhangsan.country);//这样也可以调用zhangsan=null;//所有静态的数据都是可以采用类名.  ,也可以采用"引用."的方式访问//采用引用.的方式访问的时候,即使引用是null,也不会出现空指针异常。因为访问静态的数据不需要对象的存在System.out.println(zhangsan.country);}}

JAVA入门级教学之(static关键字)相关推荐

  1. JAVA入门级教学之(super关键字)

    目录 JAVA入门级教学之(super关键字) 1.super关键字用在构造方法中: 2.语法规则: 3.注意:super();的调用只能放在构造方法的第一行,和this();的调用规则一样 4.通过 ...

  2. JAVA入门级教学之(标识符与关键字)

    目录 JAVA入门级教学之(标识符与关键字) 1.什么是标识符? 2.标识符的命名规则? 3.标识符的命名规范? 4.严格遵守规则和规范: 在java里的关键字都是小写的 JAVA入门级教学之(标识符 ...

  3. JAVA入门级教学之(接口)

    目录 JAVA入门级教学之(接口) 接口也是一种引用类型,可以等同看做类 1.如何定义接口,语法: 2.接口中只能出现: 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的 4.接口中没有构造方法 ...

  4. JAVA入门级教学之(abstract抽象类)

    目录 JAVA入门级教学之(abstract抽象类) 1.如何定义抽象类? 2.抽象类无法被实例化 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的 4.抽象类中可 ...

  5. JAVA入门级教学之(方法-1)

    目录 JAVA入门级教学之(方法-1) 1.以下程序不使用"方法",分析一下程序会存在哪些优缺点? 2.方法的本质:是一段代码片段,可以完成特定功能,可以重复利用 3.注意:方法定 ...

  6. JAVA入门级教学之(package和import)

    目录 JAVA入门级教学之(package和import) 1.包又称为package 2.怎么定义package? 3.包名的命名规范: 4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规 ...

  7. JAVA入门级教学之(多态)

    JAVA入门级教学之(多态) 怎么理解多态:你本身就该喊你爹叫爹,你让你爹叫你爹就是强制认做爹 多态的使用: A  a = new D(); D类继承A类,父类型引用指向子类型对象 * 关于java语 ...

  8. JAVA入门级教学之(参数传递)

    JAVA入门级教学之(参数传递) 问题引入: 参数分为形式参数还有实际参数,我们传入是的数据到底是什么呢? 方法调用的时候,涉及参数传递的问题, 传递的时候,java只遵循一种语法机制 就是将变量中保 ...

  9. JAVA入门级教学之(方法递归)

    目录 JAVA入门级教学之(方法递归) 1.关于方法的递归调用: 2.递归是很耗费栈内存的,递归算法可以不用的时候尽量别用 3.以下程序运行的时候发生了这样的一个错误[不是异常,是错误] 4.递归必须 ...

  10. JAVA入门级教学之(方法内存分配机制)

    目录 JAVA入门级教学之(方法内存分配机制) 1.方法只定义,不调用,是不会执行的 2.在JVM内存划分上有这样三块主要的内存空间:[还有其它的内存空间] 3.关于"栈"数据结构 ...

最新文章

  1. plt.figure()的使用
  2. 使用1个盘三个5G分区创建12G逻辑卷
  3. perl Encode模块的使用
  4. bottle模板 template/jinja2_template
  5. 【解决方案】istio-ingressgateway HTTP probe failed with statuscode: 503
  6. BZOJ 1305 dance跳舞(最大流+二分答案)
  7. Eclipse(STS) 初次搭建Spring Cloud项目之声明式REST调用+负载均衡实现Feign(四)
  8. 神奇的 Go init 函数
  9. aws sqs_JMS和AWS SQS的更多高级内容
  10. python写脚本入门-学习Python的教程?:python 脚本菜鸟教程
  11. 体绘制的原理和Raycasting的实现
  12. linux mysql csv文件_Linux MySQL数据库如何导出数据文件?导出csv语句命令
  13. Pytorch专题实战——数据转换(Dataset Transforms)
  14. SpringCloud-服务的消费者(rest+ribbon)
  15. 2014蓝桥杯C++B:啤酒和饮料;切面条(思维分析)
  16. pdf合并 java_用Java拆分及合并PDF文档
  17. 5分钟学会图片优化 之 七伤拳
  18. 中国管理信息化杂志中国管理信息化杂志社中国管理信息化编辑部2022年第16期目录
  19. 计算机发展趋势 网络化,计算机的发展趋势表现在多极化网络化等几个方面
  20. 我终于解救了系统盘ORZ

热门文章

  1. 分享三个非常适合新手的网站
  2. MySQL修改数据表存储引擎的3种方法介绍
  3. loading 遮罩demo
  4. MATLAB中的微积分运算(数值符号)
  5. 黑马程序程序员基础测试(二)
  6. cocos2dx 父元素影响子元素
  7. 深入浅出MongoDB(二)概述
  8. WiFi共享精灵 - 不需路由器一键轻松把网线共享给手机、笔记本等同时无线上网...
  9. java读写html文件时出现中文乱码问题的解决方法
  10. 牛客16502 螺旋矩阵