1、面向对象程序设计: 使用类,对象,继承,封装消息等概念来进行程序设计。
2、类:(1)类是一类事物的抽象体现,这一类事物都有一些状态数 据,即Field,如:人有身高,体重,姓名,性别,爱好等,Field称为成员变量;
(2)类是面向对象编程的基本单元,类含有一类事物的共同特征;
(3)类可以产生多个对象,这些对象构成了程序中所需要的数据。
(4)类除了封装了一些事物的状态数据外,还提供了操作这些状态数据的方法(Method),实现逻辑;
(5)成员变量(状态数据)+方法(行为)定义=类的定义。
3.抽象数据类型:用一堆不同类型的状态数据来描述的一种新的事物。——-用状态数据(成员变量)总结一类事物的共同特征;
——–用方法总结一类事物的共同行为。
格式语法:
修饰词 class 类名{
type field1;
type field2;
…..
修饰词 返回值类型 method1(形参){}
修饰词 返回值类型 method2(形参){}
.....
}
4.对象:类的实例化,即类中的个体;
创建对象:使用关键字new;
类名 引用变量 = new 类名();
5.引用变量,简称引用,存储的是对象的地址信息;
成员变量的调用:引用变量.成员变量名;
方法的调用:引用变量.方法名(有参传参) 。
6.类与对象的关系:类是对象的模板,对象是类的实例化 。
7.内存管理机制:jvm将其管理的内存分成三大主要区域:方法 区,堆,栈;
(1)方法区:当程序运行时,将所需要的class文件(类的信息)加载到此空间;
(2)堆: 用于存储引用类型所产生的对象,如果对象有成员变量,会给成员变量分配空间;
(3)栈:方法内的变量(局部变量),是在栈中开辟的。
(4)栈帧:是栈中的空间。当程序执行到某一个方法时,jvm专门为此方法开辟的一块独有空间,此方法内的局部变量都在此栈帧中,当此方法结束后,栈帧消失,释放内存。
8.基本类型的变量与引用类型的变量:
值传递: 基本数据类型的变量里存储的是基本类型的数据,
int a = 5;
int b = a;
将a里的5复制了一份,传递给了b。
址传递: 引用类型的变量里存储的是对象的地址信息
Car c = new Car();
Car d = c;
将c里的地址信息复制了一份,传递给了d。
9.空指针异常:
java.lang.NullPointerException
在程序运行时,可能会出现此异常,出现的原因:
Car c = new Car();
System.out.println(c.color);//0
Car c = null;
System.out.println(c.color);//就会出现空指针异常
null:是引用类型的默认值(没有地址值)。