java面向对象语言
object oriented programming OOP
面向过程和面向对象都是语言设计思想.
案例: 把大象装进冰箱 图书馆管理系统 书类 管理员类 借阅.....
面向过程:关注于具体的流程,一步一步实现解决问题
3步可以实现
1.开门();
2.装大象();
3.关门();
面向对象:
先设计 对现实中客观事物进行分类,创建出类(在类中定义功能), 创建出具体的对象,让对象去做具体的事情.
类是对象现实事物的抽象.
冰箱类{
开门()
关门()
装大象()
}
大象类{
}
难?
概念多,设计复杂.
类类是对象现实事物的抽象.
实际生活中,先有对象(具体存在),后有类.
人 人类(概念)
张三 对象(具体的一个人)
类的结构成员变量: 类中的属性 名词: 品牌,颜色 价格 型号
方法 : 类中行为(功能) 动词: 行驶,加速,停止....
构造方法
代码块
内部类
1.发现类 汽车类 public修饰的类,类名必须与文件名一致 非public修饰的类,类名可以与文件名不一致 [访问权限修饰符][修饰符,abstract,final class 类{}
2.定义类的成员变量(属性) 名词 成员:类的成员,在类中定于 定义在类中,方法体之外. 数据类型可以是java中的支持的任意类型(引用类型,基本类型) 成员变量可以初始化,也可以不初始化,不初始化时,java会用默认值为其初始化 引用类型类型默认值是null 整数-0,浮点-0.0 boolean-false char-' '; 创建对象时,会从类中向对象中复制一份成员变量 在构造方法,成员方法,代码块中可以使用成员变量
3.定义类的成员方法(行为/功能) 动词 局部变量: 定在方法,构造方法,代码块中 使用前必须赋值 数据类型可以是java中支持的任意类型 方法的参数也是局部变量 方法运行时局部变量创建,运行结束后局部变量销毁
成员方法: 定义在类中,没有被static修饰的.通过对象调用
对象对象:具体存在的客观事物,可以拿来使用的.
万事万物(具体存在的客观事物)皆为对象
new Car (); new 以Car类为模板,在内存创建对象,Car()构造方法(默认有一个构造方法,方法名与类名相同)
Car bm/bc 声明了一个Car类型的变量
= 将创建的对象赋给了左边的变量
bm表示一个具体存在的对象
类是一个模型,对现实事物的抽象,是模板.
对象是从类这个模型创建出的一个具体实例
构造方法 作用用来初始化新创建的对象
特点1.构造方法名与类名相同,没有返回值,且不需要void修饰;
2.每个类中都至少有一个构造方法,也可以定义多个,每创建一个对象时,至少调用一个构造方法
3.如果类中无构造方法,默认会提供一个无参的,一旦定义有参的构造方法,默认的失效
在无参的构造方法中为新建的对象用默认值初始化赋值
定义了有参的构造方法,为新建对象初始化赋值
方法的重载在同一个类中,有多个方法名相同,但参数不同的方法
参数: 个数
类型
顺序
方法重载与返回值无关
成员方法也可以重载



