static

本文介绍了Java中类的静态特性,包括静态代码块、静态变量、静态方法的使用及执行顺序。静态成员在类加载时初始化,可以直接通过类名访问。此外,还探讨了final关键字修饰的常量特性,并展示了静态导入包的用法。
摘要由CSDN通过智能技术生成

写在前面:

  1. 在我们新建的一个类(class)里面,可以直接输入一些代码块;

  2. 例如直接打上大括号,里面便可以输出一些东西(sout),或者是赋一些初值;

  3. 也可以实现静态代码块的,只需要在大括号的前面加上 static
    特别注意:如果要执行这个class,这个static会首先执行,而且只执行一次

  4. 另外一个可以在这个类里面,输出的就是,构造方法,即public 一个方法
    上述的代码如下

  5. 而且,它们也会有很多明显的先后顺序,***静态第一 -->匿名第二 --> 构造方法最后

  6. static是跟 ‘类’ 一块加载出来的

    public class Person {
    
        {
            System.out.println("这是个匿名代码块");
        }//匿名代码块, 赋一些初始值
    
        static{
            System.out.println("这是个静态代码块");
        }//静态代码块 ; 只执行一次
    
        public Person(){
            System.out.println("这是个构造方法");
        }
    
        public static void main(String[] args) {
            Person person = new Person();//这个样就能够执行上述的三个输出语句
    
            System.out.println("==============");
    
            Person person1 = new Person();//能够执行除了static的其它语句
        }
    }
    

static的使用

  1. 静态的变量,可以直接用类名访问,但是非静态的方法不能够,必须new才行

    public class Person {
    
        private static int age ;//静态
        private double score;//非静态
    
        public static void main(String[] args) {
            Person person = new Person();//new出来了
            System.out.println(Person.age);//大写的类名,Person
            System.out.println(person.score);//小写的对象名,person
        }
    
    }
    
  2. 静态的方法:
    先来回顾一下如何定义一个方法

    private void run(){//非静态的方法
            System.out.println("跑起来了");
    
        }
        private static void go(){//静态的方法
            System.out.println("走起来了");
        }
    

    在main方法中调用的时候,static的方法,可以直接用方法的名,其他的都不用加; 但是非静态的方法,需要先new出来,然后再用对象名 . 方法名

    public static void main(String[] args) {
            Person person = new Person();
            person.run();//非静态
            go();//静态
        }
    
  3. 静态代码块(最先执行,且只执行一次)

    static {
    //静态代码块, 只执行一次
    }
    

    匿名代码块(第二执行)

    {
    //匿名代码块
    }
    

    构造方法(注意:public 后面是 类名 :Person )(最后执行)

    public Person(){
            System.out.println("这是构造方法");
        }
    
  4. 静态导入包

    import static java.lang.Math.random;
    import static java.lang.Math.PI;//这两个是在导入两个包,导入之后,我们就能够在之后的使用
    public class Person {
        public static void main(String[] args) {
            System.out.println(random());
            System.out.println(PI);
        }
    }
    
  5. final 是常量修饰符,通过final 修饰后,没有子类,不能够继承

    public class Student extends Person{//这里就会报错
    
    public final class Person
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值