对面向对象的语言的认识
面向过程的设计思想
过程:具体步骤
把要完成的一件事情分成一步一步的步骤然后逐步完成.
把大象放进冰箱里
1.开冰箱门()
2.把大象放进去()
3.关冰箱门()
洗衣服
1.打开洗衣机()
2.仍衣服()
3.关洗衣机盖子()
面向对象语言设计思想(宏观)
首先宏观的对整个事物进行分析(分类),不关心具体做什么,关心谁去做.
洗衣机
开盖()
关盖()
洗衣服()
人
操作()
面向过程和面向对象是相辅相成的,面向对象是宏观的设计,面向设计是具体的实现;
现有人 再有人类
现有对象后有类
对象指的是具体存在的;
Java类
什么是类?
( 类是一个模板,它描述一类事物的属性和行为的集合.
类是表示一个客观世界某类群体的一些特征抽象;)
类是对同一类事物(具体存在的)共有的属性,行为的抽象;
类是一个模板,可以根据某个类来创建这个类的具体实例(对象);
发现类(设计类)
图书馆管理系统
书类 管理员 借阅者
Java对象
对象是类的实例时概念的具体存在
万事万物(现实存在)皆为对象(可以使用的)
以类为模板,在内存中创建一个真实的存在的实例.
对象的创建
Car X1=new Car();
package day05;
public class Notes1 {
/*
* 发现类
* 汽车类
* [访问权限修饰符] [修饰符]
* class 类名
* */
static class Car{
/*
* 成员变量 类的属性(名词)
* 修饰符 类型 变量名=[值]*/
String name;
String color;
float price;
/*成员方法 类的行为(动词)
*访问权限修饰符 返回值类型 viod 方法名(参数类型 参数名)
* [return 值]
* */
//行驶
public void run(){
System.out.println("汽车行驶");
}
//刹车
public void stop(){
System.out.println("汽车刹车");
}
public static void main(String[] args) {
Car bm=new Car();//创建一个对象
bm.name="宝马";
bm.color="蓝色";
bm.price=40000;
bm.run();
bm.stop();
}
}
}
类中变量分类
从数据类型的角度分:
基本类型变量:byte short long int double float char boolean
引用类型;类 数组 接口…
按照位置划分:
成员变量;在类中包含的
成员变量的数据类型可以为基本 类型也可以为引用类型;
可以对成员变量进行初始化赋值(不建议)如果不初始化,在创建对象时可以调用构造方法使用默认值赋值;
成员变量在创建时可以复制一份到对象中.
成员变量可以被类中方法,构造方法和特定类语句块访问
成员变量声明周期:变量什么时候生(对象创建),什么时候死(对象被回收时);
局部变量:在方法中 或者在代码块中
局部变量在使用前必须要显示初始化赋值;
局部变量声明周期:变量什么时候生(方法被调用),什么时候死(方法运行结束,出栈);
类中的方法
成员方法(非static修饰):被对象调用,完成对象的功能(行为) 定义在类中;
构造方法:同来初始化创建出来的对象;
方法名与类名相同,不需要void修饰
每个类中至少有一个默认无参的构造方法.每次创建对象时至少调用一个
如果显示的一个定义构造方法,默认就失效.
方法重载:在同一个类中有多个方法的名称相同
如果区分方法名称相同的方法
通过参数区分:参数的个数不同,类型不同,顺序不同;
方法的重载与方法的返回值类型无关