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'
其它

三种进制:

进制:int a = 010

10进制:int a = 10

进制: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 类型,所以返回真

Java学习——数据类型【2】的更多相关文章

  1. 1 Java学习之 基本数据类型

    1. 基本概念 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的.简单的,各种数据类型都需要在学习 ...

  2. Java 学习(4):基本数据类型,变量类型

    目录 --- 基本数据类型 --- 变量类型 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用 ...

  3. Java学习总结之基本数据类型

    Java的数据类型分为基本数据类型和引用数据类型, 今天总结的是基本数据类型.在Java中,一共有八种基本数据类型,分别为整数类型(byte,short,int,long).浮点类型(float,do ...

  4. Java学习总结一 数据类型

    @Java300 学习总结 一.Java 基本数据类型分类如下: 整型变量:byte.short.int.long 浮点型变量:float.double 字符型变量:char 布尔型变量:boolea ...

  5. Java 学习:数据类型

    前言:Java属于强类型语言 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 优势就是安全性高,但劣势速度慢 数据类型 Java的数据类型分为两大类: 基本类型(primit ...

  6. Java学习笔记之:Java的数据类型

    一.介绍 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. Java语言提供了八种基本类型 ...

  7. Java学习笔记(基本数据类型和变量命名规则)

    java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...

  8. Java学习【第1篇】:数据类型(2019-02-13 11:00)

    1.Java 基本数据类型 Java 的两大数据类型: 1.内置数据类型 byte.short.int.long.float.double.boolean.char 2.引用数据类型  指向一个对象, ...

  9. java学习中的一些疑惑解答

    一.java中的枚举类型: 在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的.例如星期一到星期日七个数据元素 ...

随机推荐

  1. 青瓷qici - H5小游戏 抽奖机 3 效果设置

    现在是万事俱备,只欠东风,好,我们一起动手,先来东风东. 烟花粒子效果 第一个来实现我们的烟花粒子效果,点击我们的粒子,按照下图方式配置. 注意此时我们已经加入了white.png作为粒子特效使用. ...

  2. PHP学习心得(五)——类型

    简介 PHP 支持8种基本的数据类型. 四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: ...

  3. after I see Little Dorrit

    也许是我太追名逐利,所以我不肯承认自己花费了大把的时间看电影,通过写博客好像自己从中感悟到了什么,好像看电影也是一种学习的方式. 也许是我平静自内心的方式,我太忙于玩或者学习,甚至没有机会非常沉静 一 ...

  4. 关于优化C#程序的五十种方法

    一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处: 2.在属性的get和set访问器重可使用lock添加多线程的支持. 二.readonly(运行时常量) ...

  5. 启动Tomcat出现Using CATALINA_BASE

    有一次命令行启动Tomcat的时候,出现: Using CATALINA_BASE: "D:\apache-tomcat-6.0.35"Using CATALINA_HOME: & ...

  6. Docker系列

    Docker学习系列(五):Dockerfile文件 什么是Dockerfile? 它是一个名称为Dockerfile的文件 它是一个脚本文件,由一系列命令和参数构成 Dockerfile是自动构建d ...

  7. apache开启.htaccess及.htaccess的使用方法

    今天本地调试PHP程序,用到了.htaccess,而默认配置里面开启.htaccess,在网上找到了开启.htaccess的可行方法,供朋友们借鉴.(开启的我他的方法不行,查找了一下AllowOver ...

  8. CKplayer 新手入门超简单使用教程

    网页播放器都有使用的前提(问1). ~~~~~~~分隔线~~~~~~~ 只需一步先看播放器效果(问2): 下载附件,解压内容(ckplayer文件夹和ckplayer.html)到网站根目录,在浏览器 ...

  9. App小样在手机运行了一下

    外包公司把App小样的安装包发过来了,我在安卓手机上试了一把,虽然还只有几个静态页面,但安装那一刻还是小激动了一把. 在某美术系MM的帮助下,我基本掌握了原型软件azure. 事实证明,很多东西都是逼 ...

  10. 移动应用产品开发-android开发项目记录

    今天主要在做app前端开发,做了一个资讯列表和资讯详情,主要模仿网易新闻来做,页面布局简单,但java代码和实现比较麻烦 毕竟才开始做,研究的不那么透彻,也不是很熟练 用心去做,专注开发,今天也算作出 ...