文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java中static关键字的介绍和用法

2023-06-02 16:44

关注

本篇内容主要讲解“Java中static关键字的介绍和用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中static关键字的介绍和用法”吧!

用类名去调用static有两层含义:

可以理解为其为整个类公有的内容。

可以理解为不需要创建对象就可以直接使用。

class Student {

private String name;

private String no;

  // 此处省略掉getter和setter

public static String school;

public static void main(String[] args) {

  Student stu1 = new Student();

  stu1.setName("某某某");

  stu1.setNo("1001");

  Student.school = "千锋";

  Student stu2 = new Student();

  Student.school = "千锋教育";

  System.out.println(Student.school);

}

}

当其修饰方法时,该方法不需要对象调用,直接使用类名即可调用。

// 只显示代码片段

    public static String getSchool() {

      return school;

    }

    

    // 其他位置调用

    System.out.println(Student.getSchool());

注意:在static方法中不能调用普通属性。也不能使用this关键字。因为static方法是使用类名调用的,而使用时不能判断是否创建对象,所以根本不能调用对象所对应的方法或属性,只能调用static的属性或方法。

    代码块,是指在类中,直接使用{}中间写一段代码,此代码不需要手动调用,在每次创建对象时会自动调用,甚至会在构造方法之前调用。

public class Student {

     private String name;

     private String no;

     public static String school;

     public Student(){

     System.out.println("无参构造函数");

     }

     {

     System.out.println("此处是代码块");

     }

}

当static修饰代码块时,该代码块为静态代码块,在类加载时调用,仅在第一次加载时调用一次。不需要创建对象。如果创建了对象,调用次序为:先调用static代码块,再调用代码块,最后调用构造方法。

public class Student {

     private String name;

     private String no;

     public static String school;

     public Student(){

     System.out.println("无参构造函数");

     }

     {

     System.out.println("此处是代码块");

     }

     static{

     System.out.println("此处是静态代码块");

     }

}

当有一个父类Person,有一个子类Student,分别都有构造方法,代码块和静态代码块时,创建一个子类对象,调用次序为:

此处是Person静态代码块

此处是Student静态代码块

此处是Person代码块

Person无参构造函数

此处是Student代码块

Student无参构造函数

代码如下:

public class Person {

     public Person(){

     System.out.println("Person无参构造函数");

     }

     {

     System.out.println("此处是Person代码块");

     }

     static{

     System.out.println("此处是Person静态代码块");

     }

 }

public class Student extends Person{

     public Student(){

     System.out.println("Student无参构造函数");

     }

     {

     System.out.println("此处是Student代码块");

     }

     static{

     System.out.println("此处是Student静态代码块");

     }

}

总结一句:static其实翻译类的,更容易理解,比如static修饰属性,称为类属性,static修饰方法,称为类方法。

到此,相信大家对“Java中static关键字的介绍和用法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯