一. 面向对象
本质上就是基于面向过程的
1.面向过程的思想(亲力亲为)
1)拿到一个需求,分析步骤 2)代码实现, 中间完成代码中的逻辑判断.... 3)写完之后在测试!
2.面向对象的思想特点及三大特征与设计原则
Ⅰ.思想特点
1)更符号我们生活中的思想行为习惯 2)让复杂的事情简单化 3)我们从执行者变成了指挥者!
Ⅱ.三大特征
封装:将一个事务的属性私有化,加入private关键字 继承:将多个类的共享内容抽取出来放在一个独立的类中,关键字extends 多态:一个事物在不同时刻体现的不同形态
Ⅲ.面向对象的设计原则
就是不断的创建对象,使用对象,指挥对象做事情!
二. 类和对象的关系
1.什么是类
类就是描述现实世界事物的属性跟行为的统称,也就是描述一组事物的属性和行为的集合. 类和事物:一一对应的 类:---描述一组事物(泛指)的实行和行为的 比如 xxx事物 属性有哪些 行为有哪些
2.什么是对象
对象是描述具体的事物 通过代码体现 :类名 对象名 = new 类名() ; 对象名访问成员变量 对象名调用成员方法 对象名.成员变量(属性) = 赋值; 注意数据类型 例:student.name = "高圆圆" ; 对象名.成员方法(行为) ; //有返回值,返回结果;没有返回值,直接单独调用 例:student.eat(); (没有返回值) String result = student. sleep() ;(有返回值) System.out.println(result) ;
3.类跟对象的关系
Ⅰ.类中的成员变量(事物的属性)
成员变量: 就是描述事物的属性 类中,方法外 例:String name; int age ;
Ⅱ.类中的成员方法(事物的行为)
成员方法: 就是描述事物的行为的 例:public void study(){} 去掉了stati public 返回类型 方法名(参数类型1 变量名1,参数类型2 变量名2....){ 有返回值类型需要return 没有返回值类型,返回值类型void ,此处直接输出结果; }
三. 封装
1.概念
将一个事务的属性私有化, 将一个类中的所有成员变量加入private关键字,对外保证安全性,仅限当前类访问,保证了数据安全性,对外提供的公共的访问方法来访问,并不能直接访问 超过当前类不能直接访问对外提供公共的setxxx()/getxxx()访问方法(将属性隐藏了)称为"setter and Getter"
2. private关键字
特点: private访问的权限:范围是最小的:仅限当前类中!被private修饰的成员变量/成员方法, 只能在当前类中访问外界类不能直接访问! 但是,可以间接的通过公共访问 来访问!
3.封装的思想
加入私有修饰(private),提供对外的公共访问方法
四. 成员变量和局部变量的区别
1.成员变量
就是属于类的变量,在类中,方法体外定义的变量
2.局部变量
就是定义在方法体,代码块内的变量,是局部的变量,属于方法的范畴 (比如方法的形参,方法内定义的变量等等)
3.区别
1)书写位置不同 局部变量:在方法定义中或者方法声明上 成员变量:在类中方法外 (范围大) 2)内置中的位置不同 局部变量:在栈内存中 成员变量:在堆内存中 3)生命周期不同 局部变量: 随着方法调用而存在,随着方法调用结束而消失 成员变量:随着对象的创建而存在, (跟对象有关系:类名 对象名= new 类名();) 随着对象的创建完毕等待垃圾回收器空闲的时候回收掉,而消失! 4)初始化值不同 局部变量:要么先定义,后面初始化;要么直接直接初始化