zoukankan      html  css  js  c++  java
  • Static变量与代码块

    * static:是一个关键字,用于修饰成员变量和成员方法
    * static的特点:
    * 被所有的对象所共享
    * 可以使用类名调用
    * 静态的加载优先于对象
    * 随着类的加载而加载

    * static的注意事项:
    * 静态方法:
    * 可以调用静态的成员变量
    * 可以调用静态的成员方法
    * 不可以调用非静态成员变量
    * 不可以调用非静态成员方法
    * 静态方法只能调用静态的成员
    * 非静态方法:
    * 可以调用静态的成员变量
    * 可以调用静态的成员方法
    * 可以调用非静态的成员变量
    * 可以调用非静态的成员方法
    *
    * 静态的方法中是否有this这个对象?没有的

    //Math:包含了一些基本的数学运算方法
    //static double PI
    System.out.println(Math.PI);

    //static double abs(double a) :返回绝对值
    System.out.println(Math.abs(15));
    System.out.println(Math.abs(-10));

    //static double ceil(double a) 天花板 向上取整
    System.out.println(Math.ceil(1.2));
    System.out.println(Math.ceil(1.6));
    //static double floor(double a) 地板 向下取整
    System.out.println(Math.floor(1.2));
    System.out.println(Math.floor(1.6));

    //static long round(double a) :四舍五入
    System.out.println(Math.round(1.2));
    System.out.println(Math.round(1.6));

    //static double max(double a, double b)
    System.out.println(Math.max(3, 4));

    //static double pow(double a, double b) :返回第一个参数的第二个参数次幂
    System.out.println(Math.pow(3, 2));

    //static double random() :返回一个随机数,大于零且小于一
    System.out.println(Math.random());

    //构造代码块:提取构造方法中的共性,每次创建对象都会执行,并且在构造方法执行之前执行

    //静态代码块:随着类的加载而加载,只加载一次,加载类时需要做的一些初始化,比如加载驱动

    以下代码执行顺序:
    * BlockTest静态代码块执行 --- BlockTest的主函数执行了 --- Coder静态代码块执行 --- Coder构造代码块执行 --- Coder无参空构造执行
    * Coder构造代码块执行 --- Coder无参空构造执行

     1 public class BlockTest {
     2     static {
     3         System.out.println("BlockTest静态代码块执行");
     4     }
     5     
     6     {
     7         System.out.println("BlockTest构造代码块执行");
     8     }
     9     
    10 
    11     public BlockTest(){
    12         System.out.println("BlockTest无参构造执行了");
    13     }
    14     
    15     public static void main(String[] args) {
    16         System.out.println("BlockTest的主函数执行了");
    17         Coder c = new Coder();
    18         Coder c2 = new Coder();
    19     }
    20 }
    21 
    22 class Coder {
    23     
    24     static {
    25         System.out.println("Coder静态代码块执行");
    26     }
    27     
    28     {
    29         System.out.println("Coder构造代码块执行");
    30     }
    31     
    32     public Coder() {
    33         System.out.println("Coder无参空构造执行");
    34     }    
    35     
    36 }
  • 相关阅读:
    Python 存储引擎 数据类型 主键
    Python 数据库
    Python 线程池进程池 异步回调 协程 IO模型
    Python GIL锁 死锁 递归锁 event事件 信号量
    Python 进程间通信 线程
    Python 计算机发展史 多道技术 进程 守护进程 孤儿和僵尸进程 互斥锁
    Python 异常及处理 文件上传事例 UDP socketserver模块
    Python socket 粘包问题 报头
    Django基础,Day7
    Django基础,Day6
  • 原文地址:https://www.cnblogs.com/samuraihuang/p/9759093.html
Copyright © 2011-2022 走看看