一、Java内存图
二、类与对象
类:class
类别
相同或相似的属性,特征,行为,功能
对象:Object
生活中:具体的事物
计算机:一份具体的数据+指令
起源:图灵发明恩格玛破译机
三、程序:本质是解决问题
非运行状态:
计算机上的一份文件——代码,配置文件,资源(图片,文档,数据)
运行状态:
进程:通过代码(计算机指令)调度计算机资源(CPU+RAM+IO)来解决问题
四、类的定义
格式:class类名{ }
由public修饰的类,类名必须与所在的文件名一致
内容:类中可以写什么代码
类的成员:
属性
属性变量:
String name;
int age;
属性常量: final初始化赋值之后不能再修改值
final int id = 100;
初始化空间包含 代码块 以及 构造方法
(代码块不管创建什么对象都会执行)
注意:不能在代码块和构造方法中同时赋值
每个构造方法都需要给常量赋值
因为创建对象的时候会选择其中一个构造方法
方法
public void test( ){ }
访问权限修饰符+返回值类型+方法名(参数类型 参数变量名){
定义局部变量:在使用之前需要赋值
逻辑语句 if for
输出语句 Systemout.print()
创建对象
}
构造方法:初始空间
格式:以类名为方法名,没有返回值结构 public 类名( ){ }
每一个类都有一个空参数的构造方法
构造方法是创建对象时调用的new的类的构造方法名
代码块:初始化空间定义在与属性以及方法同级的位置
格式:{ }
每创建一个对象就调用一次
静态资源:static 唯一
静态属性变量:不属于对象,属于类,可以由类名直接调用,在内存中只会存在一份
静态属性常量:性质与上相同,且带有常量的性质
静态代码块:
static { }
整个程序如果使用到这个类,就会调用这个类的静态代码块,且运行一次程序只会执行一次
可以初始化静态常量
不能使用非静态 变量/常量 的成员方法
内部类
变量:
属性变量,参数变量,局部变量(不能直接使用,必须要在使用之前赋值),对象变量
使用变量
数值运算
比较
赋值
取值