面向对象一
面向过程和面向对象
pop
-
分析出解决所需的步骤,然后把步骤一步一步实现
-
关注流程
oop
-
以分类的方式进行思考和解决问题。
-
面向对象先对整体关系作出分类,然后根据不同的类深入细节的处理。
-
面向对象的思想符合人类的认知习惯。
java类
类的结构
-
成员变量:事物属性的描述;
-
方法:事物的行为;(可以做的事情)
-
构造方法:用于创建对象;
-
内部类: 即在类体中声明的类。
-
块:一段没有名称的代码块
类的定义
第一步:发现类
类的声明格式为: [访问权限修饰符] [修饰符] class Car{ }
第二部:发现类的公有属性(成员变量)
声明成员变量的格式为: [访问权限修饰符] [修饰符] type attr_name [=defaultValue] ;
第三步:发现类的方法
方法声明格式为: [访问权限修饰符] [修饰符]/ void start(){ System.out.println("汽车启动"); [return 返回值;] } }
对象的创建和使用
-
Car x1 = new Car(); Car x1:使用Car类作为类型声明一个变量x1. new Car():使用new + Car类构造方法创建对象. = :将右边创建的对象地址 赋给 左边的x1变量 使用x1变量访问对象中的成员变量和成员方法.
-
同一类的每个对象有不同的成员变量存储空间。
-
同一类的每个对象共享该类的方法。
变量分类
按位置分类
成员变量:
-
成员变量是定义在类中,方法体之外的变量。
-
成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。
-
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。
-
成员变量在创建对象的时候会从类中复制一份到对象中。
-
成员变量可以被类中方法、构造方法和特定类的语句块访问。
-
成员变量的作用范围为整个类体。
局部变量:
-
在方法、构造方法或者语句块中定义的变量被称为局部变量。
-
局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。
-
局部变量在使用前必须初始化赋值。
-
变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
方法分类
成员方法:成员方法是定义在类中
语法格式: 修饰符 返回值类型 方法名 ( 参数列表) { 方法体语句; [return 返回值] }
构造方法: 用来初始化对象的方法
-
构造方法名与类名相同,且没有返回值,且不需要使用void修饰。
-
作用:在构造方法中为创建的对象初始化赋值,
-
在创建一个对象的时候,至少要调用一个构造方法。
-
每个类都有构造方法。如果没有显式地为类定义构造方法,Java将会为该类提供一个默认 构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。
-
一个类可以有多个构造方法。
方法重载
方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。
-
参数不同(可以有三方面的不同)
1.数量不同
-
类型不同
-
顺序不同
-
调用时,会根据不同的参数表选择对应的方法。
-