OOP:面向对象
概念:Object Oriented Programming面向对象编程,根据业务的需求,采用面向对象的编程思想,根据业务逻辑,抽象出现业务对象,利用封装,继承,多态的特点解决业务需求的过程.
类 class
概念:描述具有相同特征的对象.利用抽象提取和业务相关的数据,在class中使用属性描述对象的特征.
[访问修饰符] class 自定义类名{
属性;/*零到多个属性,描述对象的共同特征*/
构造器;/*零到多个构造器*/
}
对象
概念:类的一个实例(实际的概念),就是类的一个具体的表现,对这个类中的特征有具体的信息.如:张三同学,就是Sutdent类的一个实例,该学生的名字就叫张三.通过类中的构造器实例化对象.
构造器
概念:构造器是实例化对象的根本途径.构造器的名称必须和类完全一致,构造器不能定义返回值.也称为构造方法/构造函数.通过new关键字调用构造器实例化对象.
[访问修饰符] class className{
[访问修饰符] className(){
}
}
方法
概念:通过类中的方法描述对象的行为(通过方法实现业务逻辑)
构造器的语法现象
- 如果一个类中没有任何的构造器那么系统提供无参数的构造器
- 如果一个类中有显示的构造器,那么系统不再提供无参数构造器
- 在一个类中可以对构造器进行重载
重载
概念:在同一个类中.方法名相同,参数类型列表不同称为重载.与返回值类型和修饰符无关.
this 表示当前的对象
对象的实例化过程
Point p=new Point(1,2);
1. 加载类:JVM读取class文件.如果类没有加载先加载这个类.类加载采用按需加载,使用该类时采用加载.类只会加载一次,在JVM退出之前如果已经加载不会再次加载.[不完整]
2. 根据类中声明的属性的数量和类型在堆内存中分配空间.系统会根据属性的类型进行第一次初始化
3. 如果构造器中传入参数,那么将参数赋值给对应的属性.对属性进行第二次赋值.
4. new关键字会将对内存中创建的对象的地址值赋给对应的变量.