day16:static、final、常量(static final)、

一、static

特点:属于类 、存储在方法去、只有一份或者只执行一次、随类运行执行

可以修饰静态变量  、静态方法 、静态代码块

 静态变量能否继承?

 静态变量属于类,是共享的资源,不认为是被继承的

 静态变量不可以定义在静态方法中,

静态方法中先于对象存在,所以 不能使用 this  super,不能访问成员变量。

静态方法中可以直接调用静态方法。

静态方法不能直接调用非静态方法。


静态方法可以重写吗?

 

不能重写


静态方法可以重载吗?


怎么调用静态方法

静态方法也是通过类名来访问,也可以通过对象来访问,但是不推荐。在实际过程中都是通过类名来调用的。如:Arrays.sort(arr);


静态代码块

静态代码块是岁了类的加载而加载到方法区中,在类创建对象的时候或者类调用静态方法的时候执行一次,终其一生只执行一次。

package com.oracle.staticx;

public class StaticDemo4 {
    public static void main(String[] args) {
//        new A();
//        new A();
//        new A();
       // new B(); // A1 B1 A2 A3 B2 B3
        //new A();
        B.m();
    }
}

class A{

    static{
        System.out.println("A1");
    }


    /**
     * 构造代码块,构造代码块是先于构造方法执行的
     */
    {
        System.out.println("A2");
    }

    /**
     * 构造方法
     */
    public A(){
        System.out.println("A3");
    }
}

class B extends A{

    static{
        System.out.println("B1");
    }

    {
        System.out.println("B2");
    }
    public B(){
        super();
        System.out.println("B3");
    }


    public static void m(){
        System.out.println("M");
    }
}

二、final

final 可以修饰哪些?

修饰  变量 、方法、类

最终方法能被继承 、最终方法不能重写

类不能被继承、类中不能有匿名内部类





三、常量

也就是  static final

声明的同时必须初始化

常量名必须全部大写 ,多个单词间用下划线隔开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值