【java】static关键字

这篇具有很好参考价值的文章主要介绍了【java】static关键字。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

类与对象的关系

类是构建对象的模板,一个类可以构建多个对象。

类在方法区当中,对象在中。

static修饰的变量是独属于类的变量,没有给对象。

public class Person {
	private String name;
	private int age;
	private static String like;
	public static void main(String[] args) {
		Person zhang = new Person();
		zhang.name = "zhangsan";
		zhang.age = 18;
		zhang.like = "apple";
		
		Person li = new Person();
		li.name = "lisi";
		li.age = 20;
		li.like = "banana";

		System.out.println(zhang.name+" "+zhang.age+" "+zhang.like);
		System.out.println(li.name+" "+li.age+" "+li.like);
	}
}
【java】static关键字,java,开发语言
运行结果
 static修饰的变量究竟储存在什么地方

方法区当中有静态常量池,static修饰的变量被放在静态常量池中,如果静态常量池已满则被存储在方法区当中,总之,不可能在对象中进行存储。

static能修饰什么

static能修饰变量、修饰方法、修饰代码块

static修饰的变量属于类变量,被创建出来的所有对象共享

② static修饰的方法属于,叫做静态方法,没有被static修饰的方法属于对象

在静态方法当中不能调用非静态方法,因为有类不一定有对象;非静态方法能调用静态方法,因为有对象一定有类。

③ 被static修饰的代码块不论放在哪里,都一定比main方法优先执行。(用于优化程序)

Person person = new Person();

Person:决定着对象的类型。

person:对象的名称,存储在栈内存当中。

new:关键字,在堆内存当中开辟内存空间(对象)。

Person():构造器,给对象赋初始值。

public class Person {
	static {
		System.out.println("我是main方法之前的static修饰的代码块");
	}
	{
		System.out.println("我是main方法之前的代码块");
	}
	public static void main(String[] args) {
		System.out.println("我是main方法");
	}
	static {
		System.out.println("我是main方法之后的static修饰的代码块");
	}
	{
		System.out.println("我是main方法之后的代码块");
	}
}
【java】static关键字,java,开发语言
运行结果​​

由于在 main方法中并没有创建Person类的实例,因此非静态代码块(实例初始化块)并不会在程序执行时被触发。 文章来源地址https://www.toymoban.com/news/detail-852484.html

public class Person {
	static {
		System.out.println("我是main方法之前的static修饰的代码块");
	}
	{
		System.out.println("我是main方法之前的代码块");
	}
	public static void main(String[] args) {
		Person person = new Person();
		System.out.println("我是main方法");
	}
	static {
		System.out.println("我是main方法之后的static修饰的代码块");
	}
	{
		System.out.println("我是main方法之后的代码块");
	}
}
【java】static关键字,java,开发语言
运行结果
public class Person {
	static {
		System.out.println("我是main方法之前的static修饰的代码块");
	}
	{
		System.out.println("我是main方法之前的代码块");
	}
	public static void main(String[] args) {
		System.out.println("我是main方法");
		Person person = new Person();
	}
	static {
		System.out.println("我是main方法之后的static修饰的代码块");
	}
	{
		System.out.println("我是main方法之后的代码块");
	}
}
【java】static关键字,java,开发语言
运行结果

到了这里,关于【java】static关键字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】静态关键字static的用法(详解)

     🎈个人主页:库库的里昂  🎐CSDN新晋作者  🎉欢迎 👍点赞✍评论⭐收藏  ✨收录专栏:C语言初阶  ✨其他专栏:代码小游戏  🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 【前言】 不同于其他,他们都有多种用

    2024年02月14日
    浏览(33)
  • 【Java入门】final关键字、static关键字、内部类的认识

    前言 : final是Java中的一个修饰符,用于表示某个变量、方法或者类不能被修改。final可以用于修饰类、方法和变量(局部变量,成员变量)。被final所修饰的类不能被继承,被final所修饰的方法不能被重写,被final所修饰的变量,不能被重新赋值 。 static是Java中的一

    2024年02月11日
    浏览(35)
  • java static关键字的作用

    用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享; 静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键; 用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于

    2024年02月08日
    浏览(34)
  • Java基础之static关键字

    友情提醒 先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。 随着类的加载而加载,优先于对象存在,对所有对象共享,可以被类名直接调用 ① 静态代码块static修饰的代码块,直接写在类中的代码块。 在类加载的时候执行,只执行一次,

    2024年02月09日
    浏览(28)
  • 2023.9 - java - static 关键字

     tips:  java 的 static修饰的 方法和变量 可以被 实例访问 ,但是typeScript 不可以。 static主要和Java的内存管理有关。我们可以将static与变量,方法,代码块一起使用。static属于该类,而不是该类的实例。 static可以修饰: 变量(也称为类变量) 方法(

    2024年02月10日
    浏览(31)
  • 详解Java的static关键字

    不依赖于对象实例:静态方法不需要依赖于任何对象实例,因为它们与具体的对象实例无关联。这意味着在没有创建对象实例的情况下,就可以直接通过类名访问或调用静态方法。 可以访问静态成员:静态方法可以访问类的静态成员(静态字段和静态方法),但不能访问非静

    2024年02月05日
    浏览(39)
  • 【java面向对象中static关键字】

    static修饰成员变量 static修饰成员变量的应用场景 static修饰成员方法 static修饰成员方法的应用场景 static的注意事项 static的应用知识:代码块 static的应用知识:单例设计模式 static静态的意思,可以修饰成员变量,成员方法; static修饰成员变量: 1.有static修饰的成员变量叫做

    2024年02月13日
    浏览(34)
  • 【C语言】 Static关键字的用法和详解(太细了!!!)

    文章目录 目录 前言 一、static是什么 二、static的用法 1.修饰局部变量 2.修饰全局变量          3.修饰函数 总结   static在不同的语言中又有不同的使用方法,本文介绍的是static在 C语言 当中的用法。   static在C语言中是,中文直译过来是 “静态的” ,static在

    2023年04月14日
    浏览(34)
  • 嵌入式C语言关键字(const、static、volitatile)

    C语言中const修饰通常是用来声明常量,并声明常量的值不能修改。当涉及 指针变量 时情况就会变得更加有趣,需要特别注意。因为有两样东西都有可能成为常量— 一种是用来限定指向的空间的值不可修改;另一种是限定指针不可修改 。下面是几个声明的例子: 总结:cons

    2024年02月06日
    浏览(31)
  • 【文末福利】C语言扫盲——关键字static究竟限制了谁?

    【知识科普】C语言的static究竟限制了谁? 这是一个有趣的话题,虽然说教科书给了你一些说法,但你真正能把static说清楚吗?本文将通过一个案例,给大家做一个深度的拆解分析。 注:在本文的讨论中,无明确说明时,指的都是static修饰函数,而非变量。 最近的几个月一直

    2024年02月14日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包