☆static关键字

修饰成员变量和成员方法

static关键字特点

1.随着类的加载而加载
2.优先于对象存在
3.被类的所有对象共享,可以通过类名调用。

static关键字注意事项

在静态方法中是没有this关键字。
静态方法只能访问静态的成员变量和静态的成员方法,原因是受生命周期的限制。

什么时候用静态?

A:当成员被所有对象共享,可以复用,比如常量。
B:工具类。

静态的内容存在于方法区。

package study.staic;/*定义一个人类姓名和年龄都是变化的,这个我能接收,因为每个人的姓名和年龄是不同的。但是,我们现在选取的几个人都是中国人,他们的国籍是一样的。一样的国籍,我每次创建对象,在堆内存都要开辟这样的空间,我就觉得有点浪费了。怎么办呢? 针对多个对象有共同的这样的成员变量值的时候,java就提供了一个关键字来修饰:static。
*/
public class Person {//姓名String name;//年龄int age;//国籍String country;public Person(){}public Person(String name,int age) {this.name = name;this.age = age;}public Person(String name,int age,String country) {this.name = name;this.age = age;this.country = country;}public void show() {System.out.println("姓名:"+name+",年龄:"+age+",国籍:"+country);}
}class PersonDemo {public static void main(String[] args) {//创建中国人Person p1 = new Person("邓丽君",16,National.CHINA);//创建中国人Person p2 = new Person("杨幂",22,National.CHINA);//创建美国人Person p3 = new Person("凤姐",20,National.AMERICA);p1.show();p2.show();p3.show();}
}

☆静态变量和成员变量的区别

所属对象不同

静态变量属于类,所以也称为为类变量。
成员变量属于对象,所以也称为实例变量(对象变量)。

内存中位置不同

静态变量存储于方法区的静态区。
成员变量存储于堆内存。

内存出现时间不同

静态变量随着类的加载而加载,随着类的消失而消失。

成员变量随着对象的创建而存在,随着对象的消失而消失。

调用不同

静态变量可以不用创建对象通过类名调用,也可以通过对象调用。

成员变量只能通过对象名调用。

4.java基础-static相关推荐

  1. Java基础(Static关键字)

    java基础 一.关于Static修饰的变量 首先Static修饰的变量是放在方法区内存空间中的,在运行时Static方法先赋值然后才是main方法的执行,在类加载的时候就对Static修饰的变量进行 ...

  2. Java基础-static 关键字解析

    参考文章: https://www.cnblogs.com/dolphin0520/p/3799052.html static的应用: 1.static是为了在没有创建任何对象的前提下,仅仅通过类本身 ...

  3. java基础static变量初始化和赋值的例子

    1.代码案例 public class A {public static int x;static{x = B.y+ 1;} } public class B {public static int y ...

  4. java基础-static

    1.static静态的(存在方法区的静态域): 2.static可以用来修饰:属性,方法,代码块,内部类 3.使用static修饰属性:静态变量,类变量 1.静态属性 vs 非静态属性(实例变量) 实 ...

  5. java基础——static 关键字小节

    static 用于修饰成员 修饰成员变量和成员函数 被修饰过的成员的特点:   1.随着类的加载而加载   2.优先于对象而存在   3.被所有对象所共享   4.可以直接被类名调用

  6. Java基础--static静态原理及API使用示例详解

    Arrays类 Math类

  7. java先执行static还是构造函数_【Java基础】类的实例化、static、父类构造函数执行顺序...

    重温java基础,以免自己以后犯原则性错误,这是最基本,最基础的东西. 先看结论: 一个类的实例化过程: 1,首先会执行类中static代码块(不管代码块是否在类的开头还是末尾处),如果这个类有父类, ...

  8. 【零基础学Java】—static关键字概述(十六)

    [零基础学Java]-static关键字概述(十六) 一.static关键字 二.static关键字修饰成员变量 /*** @author :CaiCai* @date : 2022/4/8 11:1 ...

  9. JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配

    JAVA基础-栈与堆,static.final修饰符.内部类和Java内存分配 发布时间: 2013/01/12 22:29 QQ空间 新浪微博 腾讯微博 人人网 豆瓣网 百度空间 百度搜藏 开心网 ...

最新文章

  1. 计算机一级多选题没有选分,计算机一级多选题
  2. Deep Learning回顾之LeNet、AlexNet、GoogLeNet、VGG、ResNet
  3. 【机器学习基础】深入讨论机器学习 8 大回归模型的基本原理以及差异!
  4. Some exceptional case in WebUI Component Repository Information System Design
  5. RHEL 5服务篇—常用网络配置命令
  6. mupdf不支持x64_Delphi xe2使用x64编译器编译ASM代码时出错 . 不支持的语言功能:'ASM'...
  7. 执行perl xttdriver.pl报错Can't locate Getopt/Long.pm in @INC
  8. TypeError: 'float' object is not iterable
  9. android 距离感应器控制屏幕熄灭_书房大变身!有格调的屏幕挂灯,加了它桌面秒变神仙颜值...
  10. Qt界面语言设置(官方汉化)
  11. 实用插件(七)视频播放插件——ckplayer
  12. win7系统网页激活实验
  13. 【微信小程序】发布流程及发布审核时如何提供测试账号?
  14. Android子控件超出父控件的范围被覆盖问题
  15. 算法的时间复杂度排序
  16. 中金公司:券商IT广阔天际 明月不出群星闪耀
  17. 在线2000人的服务器配置,同时线上人数约2000人需要什么等级服务器?
  18. java通过filter单点登陆
  19. 小陈老师、雪人 HRBUST - 1176(优先队列+)
  20. 用java的事件监听机制实现一个简单的画板应用:通过选择图形按钮和颜色按钮来画出自己想画的图形:直线、空心矩形、圆形、折线、多边形、圆角矩形、弧线、曲线、喷枪

热门文章

  1. 计算机网络超级详细的总结(1)
  2. 首期“赛迪区块链技术与应用培训班”成功举办
  3. 速看: 加解密、加签验签,你想要的都在这了
  4. 单位网站老是被劫持跳转到菠菜网站怎么办
  5. C++ 取整,四舍五入
  6. 人工智能之父,你知道是谁吗?
  7. 立创eda学习笔记十:如何添加好友或组建团队
  8. 不准把水放在计算机旁英语翻译,英语翻译translationpra水ctice.ppt
  9. 有关宾大1900页数学书笔记的更新说明
  10. jquery prop 是什么意思,它的使用方法是什么样的?