• Java学习——数据类型【2】


    1. 对象与类

    对象:类的一个实例,有状态和行为。

    类:一个模板,描述一类对象的行状态和行为。

    2. 类可以包含的变量

    类型 局部变量 成员变量 类变量(静态变量)
    定义位置 方法、或语句块中 类中,方法体外 类中,方法体外,且为static
    访问修改符 不能使用 一般为private 一般为public
    默认值 0,(boolean)false,(引用)null 0,(boolean)false,(引用)null
    初始化

    必须被初始化,

    否则编译错误

    声明/构造方法中指定 声明/构造方法/静态语句块中指定
    访问方式   对象引用.变量名 类名.变量名
    生命周期  

    在对象创建的时候创建,

    在对象被销毁的时候销毁

    在程序开始时创建,

    在程序结束时销毁

    存储位置   静态存储区


    3. 源文件声明规则

    • 一个源文件一个public类,多个默认类
    • 源文件名和public类名字一样
    • 语句的先后:package语句(类定义在该包中)—>import语句—>类定义
    • import语句和package语句对源文件中定义的所有类都有效。同一个源文件,不能有不同的包声明

    4. Java基本数据类型

    类别 整数 浮点数 布尔型 字符型
    类型名 byte short int long float double boolean char
    位数 8 16 32 64 32 64 1 16
    表示 byte a = 10 short a = 10 int a = 10 long a = 10L float f = 10.0f/10.0F double d = 10.0 boolean a = true char a = 'A'
    其它

    三种进制:

    8进制:int a = 010

    10进制:int a = 10

    16进制:int a = 0x10

    科学记数法:

    3.14E3=3.14*103

    3.14E-3=3.14*10-3

      单一的任何Unicode字符

    5. 类型转换

    • 自动类型转换:byte,short,char—>int—>long—>float—>double
    • 不能对boolean类型进行类型转换
    • 强制类型转换:int a = 10; byte b = (byte) a;
    • 浮点数转成整数:直接舍弃小数

    6. 访问修饰符

    访问控制符来保护对类、变量、方法和构造方法的访问。下表表示访问权限:

    修饰符 当前类 同一包 子孙类 其它包
    public Y Y Y Y
    protected Y Y Y N
    default(默认) Y Y N N
    private Y N N N

    访问权限继承

    • 类中约束必须不比父(public—>public,protected—>protected/public)
    • 父类中private的方法能被继承
    • private 和 protected类只能定义成类中类

    7. 非访问修饰符

    修饰符 static final abstract synchronized volatile
    修饰 类方法,类变量 类,方法,变量 类,方法  方法 变量 
    作用

    一个类只有一个类变量的拷贝

    静态方法不能用非静态变量

    不能够被继承

    方法不能被继承类重新定义

    变量为常量,不可修改的,只能被显式初始化一次

    抽象类不能用来实例化对象

    一个类/方法不能同时被 abstract 和 final 修饰

    一个类包含抽象方法,则该类一定要声明为抽象类,否则将出现编译错误

    抽象类可以包含抽象方法和非抽象方法

    抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供

    任何继承抽象类的子类必须实现父类所有抽象方法,除非该子类也是抽象类

    方法同一时间只能被一个线程访问

     变量被线程访问时,强制从共享内存中重新读取该成员变量的值

    当成员变量发生变化时,强制线程将变化值回写共享内存

    使用    

    public abstract void sample();

    abstract class className{}

    public synchronized void showDetails(){}  

    8. instanceof 运算符

    作用:检查该对象是否是一个特定类型

    使用方法:

    String name = 'James';
    boolean result = name(变量名)instanceof String(类名); // 由于 name 是 String 类型,所以返回真
  • 相关阅读:
    取得当前目录下所有文件名
    windows用户态和内核态
    MFC CDialog中控件跨线程访问失败
    Effective C++学习笔记(八)
    Effective C++学习笔记(六)
    Effective C++学习笔记(七)
    Effective C++学习笔记(五)
    Effective C++学习笔记(四)
    Effective C++学习笔记(三)
    Effective C++学习笔记(二)
  • 原文地址:https://www.cnblogs.com/coolqiyu/p/6262618.html
Copyright © 2020-2023  润新知