类与对象时整个面向对象中最基础的组成单元。
类:
类是抽象的概念集合,表示的是一类个体,类之中定义的是属性/特征(变量)和行为/功能(方法);
类中可以包含:
对象的属性/特征-----------------------成员变量
对象的行为/动作-----------------------方法
一个类可以创建多个对象
默认值规则:
byte,short,int,long,char-------------0
float,double-------------------------0.0
boolean------------------------------false
引用类型------------------------------null
//若想访问对象,需要通过引用打点zs
引用类型:
数据类型 引用类型变量 指向 对象
Student zs = new Student();
null和NullpointerException
创建对象时,引用类型的成员变量默认值为null
Stduebt zs;//默认zs=null
String name;//默认name=null
Airplane a;//默认a=null
Int c;//默认c=0;
Null:表示空,没有指向任何对象,若引用值为null,则该引用不能再进行任何操作,若操作则发生NullpointerException空指针异常
对象:
对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
方法签名:方法名+参数列表
方法重载(overload/overloading):便于用户调用方法(意义)
- 同一个类中,方法名称相同,参数列表不同,方法体不同
- 编译器在编译时会根据方法签名自动绑定调用的方法
构造方法:
构造函数,构造器,构建器-----复用给成员变量赋初始值的代码
- 作用:给成员变量赋初始值
- 特点:与类名同名,没有返回值类型(连void都没有)
- 在创建(new)对象时自动调用
- 若自己没有写构造方法,则编译器会默认生成一个无参构造方法;如果自己写了,则不再默认生成
- 构造方法可以被重载
前导知识:java规定局部变量和成员变量可以同名,用的时候默认就近原则
范围:成员变量(在整个类中,在方法外。可以在整个类中访问。有默认值) 局部变量(在当前方法中(包括方法的参数)。只能在当前方法中访问。没有默认值)
2.This:指代当前对象哪个对象调用方法就是指的是哪个方法;只能在方法中,方法中访问成员变量之前有默认有个this
3.this的用法:
(1)this.成员变量名----访问成员变量
-----当成员变量与局部变量同名时,若想访问成员变量则this不能省略(java规定局部变量和成员变量可以同名,用的时候默认就近原则)
(2)this.方法名---调用方法(一般不用)
(3)this()----调用构造方法(很少用)
内存管理:有JVM(虚拟机)来管理
- 堆:new出来的对象(包括成员变量)
- 栈:局部变量(包括方法参数)
- 方法区: .class字节码文件(包括静态变量和所有方法)
注:
OO:面向对象
OOA:面向对象分析
OOD:面向对象设计
OOP:面向对象编程