zoukankan      html  css  js  c++  java
  • 关键字总结

    不可变对象

    final

    修饰的类不能被继承,修饰的方法不能被重写,private修饰的方法默认也会加final修饰,修饰基本数据类型的变量不能被重新赋值,修饰引用数据类型不能,在变量初始化之后不能指向其他引用

    Collections.unmodifiable

    返回的集合不能被重新赋值,并且集合内容也不能被修改如Collections.unmodifiableMap(map),如果此时向新map中put会直接抛异常,而final修饰的引用数据类型,虽然变量指向的对象不能被修改,但是对象的内容却可以被修改

    static

    静态代码块

    • 作用:一般用以给静态变量赋值
    • 执行顺序静态代码块->构造代码块->构造方法
    • 静态代码块只在第一次new执行一次,之后不再执行,用以初始化类

    构造代码块和构造函数的区别

    非静态代码块与构造函数的区别是: 非静态代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会先执行相同的构造代码块。也就是说,构造代码块中定义的是不同对象共性的初始化内容。

    非静态代码块的作用

    限定变量的作用范围

    判断字符串内容是不是相等、和判断Integer值是否相等要用equels

    • 在没有改写equels方法的情况下,equels判断和==具有相同的作用,都是判断两个对象的地址是不是相同
    • String类型和Integer类型重写了equels方法,所以可以直接用equels判断对象内容是否相等
    • 判断对象是不是某个类型用object isinstansof object,注意左右都必须为对象;基本数据类型可以转换为object对象

    枚举类型Demo

    public class EnumTest01 {
    
        //使用枚举存放四季
        public enum Season{
            Spring,Summer,Autumn,Winter
        }
    
        public static void main(String[] args) {
            //调用枚举
            System.out.println(Season.Summer);
    
        }
    
    }
    

    生成随机数的两种方法

    ```

    Random r = new Random();
    int i = r.nextInt(100)// 生成0-100的随机数

    #```
    int i = (int)(Math.random()*100)//生成0-100随机数
    

    前者需要导包,后者不需要

  • 相关阅读:
    Linux:password 与passphrase
    QT设置openCV头文件和链接动态库路径
    matlab对图像加入噪声的方法
    RGB到HSV的彩色空间变化 Matlab
    QImage与IplImage之间的转换
    iframe自适应高度(简单经典)兼容ie6ie9 ,firefox,opera,chrome
    转载:关于生成并发唯一性流水号的解决方案
    EXCEL表格纵横转换
    rdlc打印时多出空白页面(reportviewer)
    一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
  • 原文地址:https://www.cnblogs.com/zhz-8919/p/10693037.html
Copyright © 2011-2022 走看看