• 2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块


    ①访问权限②static③静态方法④实例初始化块⑤静态初始化块
    一、访问权限

    默认是同包
    protected是有关系的,即同包和不同包的子类
    private只有本类,public全部

      本类   同包 不同包  
        子类 非子类 子类 非子类
    private        
    默认(同包)    
    protected  
    public

    二、static

    static可以修饰属性(一个值),方法(预加载,类级别),初始化块(只执行一次),成员内部类(相当于属性)(本类直接new出来,外部new时需要用 外部类类名.new)

    不能修饰类,类只能用这几个修饰 only public, abstract & final are permitted
    不能修饰构造,因为构造器是构造对象的,static是类级别,在加载类的时候就加载了,only public, protected & private are permitted
    不能修饰局部变量,only final is permitted
    不能修饰局部内部类,only abstract or final is permitted


    静态成员变量,类级别,全类共享一个
    Person.country = "中国";
    一般用在有共同的属性的时候,或者常量
    public static final int PI = 3.14;否则每个对象在new 的时候都会有个PI,浪费空间
    可以不创建对象直接调动,也可以new一个对象在调用
    特点①与对象无关,与类有关②全类共享一个值③预加载(随着类的加载而被加载)

    public static int num = 0;
    构造(){
    num++;
    }

    三、静态方法
    随着类的加载而被加载
    static的方法不能操作非static的任何属性和方法,
    原因:①类级别,与对象无关②类先被加载,非static的还没有被加载到内存

    常用在:工具类的工具方法

    四、实例初始化块
    {}
    构造(){}
    在产生对象的时候自动执行,new几次执行几次,使用量少,因为完全可以写到本类构造方法前几行
    在父类的构造方法之后,在本类的构造方法之前

    五、静态初始化块
    static{}
    类加载的时候自动执行,且只会执行一次,使用量大
    比如在一些准备工作,文件的准备,数据库初始化

    new 子类();

    执行顺序:fu静,子静,fu实,fu构,子实,子构
    父类静态初始化块,子类静态初始化块(先对象,new子类会先调父类)
    父类实例初始化块,父类构造器(调子类构造会先调父类构造,实例初始化块在构造器之前)
    子类实例初始化块,子类构造器

  • 相关阅读:
    大数据学习之Scala数组和集合学习38
    大数据学习之Scala语言函数学习37
    大数据学习之Scala语言基本语法学习36
    大数据学习之Storm实时统计网站访问量案例35
    大数据学习之storm-wordcount 实时版开发以及分组策略34
    大数据学习之Storm实时计算概述及安装部署33
    Java中级学习6多线程之线程池
    大数据学习之kafka的 Java API操作32
    大数据学习之Kafka消息队列31
    【代码加密】安装PHP源码加密模块
  • 原文地址:https://www.cnblogs.com/chenyuanqiu2008/p/5215525.html
Copyright © 2020-2023  润新知