源文件定义类注意事项:
1 一个源文件定义多个类时,只能有一个public类,其余的均为非public类
2 源文件的名称须和public类的类名保持一致
3 如果一个类定义在某个包中,那么pachage语句应该在源文件的首行
4 如果源文件包含import 语句,那么应该放在package语句和类定义之间,如果没有package 语句,则应该放在源文件最前面
一个类中可包含以下类型变量:
1 局部变量 方法内
2 成员变量 类内方法外
3 类变量 类内方法外,且声明为static 类型
构造方法的定义方式:
方法名和类名相同,如果不提供定义,则java编译器会为该类提供一个默认的构造方法,创建一个对象时,至少会调用一个构造方法,一个类可以有多个构造方法
创建一个类的对象
声明 + 实例化 + 初始化 例:
类名 实例名 = new 类名(参数)
JAVA包
主要是用来对类进行分类的
引用类型
引用类型的变量类似于c的指针,引用类型指向一个对象,变量一旦声明后,类型就不能改变,对象和数组都是引用数据类型,所有引用类型的默认值均是null,一个引用变量可以用来引用任何与之兼容的类型
JAVA 常量
常量在运行时不可修改,使用 final 关键字修饰即可 final double PI = 3.1415926
常量名可用小写,但是为了便于识别,使用大写
自动类型转换
涉及到不同的数据类型运算时,转换从低级到高级
低级 高级
byte,short,char—> int —> long—> float —> double
转换规则:
1 不能对布尔值进行类型转换
2 不能把对象类型转换为不相关类的对象
3 在把容量大的类型转换为容量小的类型时必须使用强制类型转换
4 转换过程中,可能存在溢出或者精度损失
5 浮点数到整数的转换是通过舍弃小数,不是四舍五入
强制类型转换
1 转换类型必须兼容
2 格式 (type)value type 是要强转类型后转换的数据类型
隐藏的强制类型转换
1 整数的默认类型是int
2 浮点型不存在这种情况 因为浮点型数字后面需跟上f或者F
JAVA 局部变量
局部变量没有默认值,声明后必须初始化后才可以使用
类变量或静态变量
类中以static 关键字声明 ,方法以外,一旦初始化后,数值不可改变
静态变量在第一次访问时创建,程序结束时销毁
静态变量储存在静态存储区
常量
常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变。
访问修饰符
default 什么都不写,同一包内可见
private 同一类内可见
public 对所有类可见
protected 对同一包内的类和所有子类可见
非访问修饰符
static 用于声明静态变量(类变量)静态方法
final 修饰变量时必须显式指定初始值,修饰方法时,可以被子类继承,不可以被重写
abstract 修饰类,抽象类不能实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充
synchronized 修饰的方法,同一时间只能被一个线程访问
volatile 修饰的成员变量,在每次被线程访问时,会强制从共享内存重新读取该成员变量的值,并在发生变化时,强制改写内存,这样任何时刻,两个不同的线程总是看到某个成员变量的同一个值
原文:https://www.cnblogs.com/chenxiyuxiao/p/11574221.html