面向谁,就是看重谁。
面向对象——对象 需要实现功能时,不管具体怎么做,不看重过程与步骤,只是关心谁能帮我这么做(偷懒,找人帮忙)、
面向过程——过程(现已少见)看中的是每一步的过程,整体过程是怎么样的
特征:封装、继承、多态;更加适用于大型的开发场景
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
生活举例
洗衣服,(机洗)脱衣服,放入洗衣机,按下开关,拿出来晒着 主要说的就是偷懒 创建一个对象把自己想要做的事情让对象来完成,需要谁面向谁创建谁;
package Diyitongjin.Lianxi_01; import java.util.Arrays; /* 面向过程 * 当需要实现一个功能的时候,所有的步骤都需要亲力亲为,处理没一个细节; * 面向对象 * * */ public class Wjj { public static void main(String[] args) { int []num={1,2,3,4,5,6,7,8,0}; //面想过程的思想 System.out.print("["); for (int i = 0; i <num.length ; i++) { if(i==num.length-1){ System.out.println(num[i]+"]"); }else{ System.out.print(num[i]+", "); } } System.out.println("================================"); //使用面向对象的思想完成打印数组,达到同样的效果 //自己不处理详细步骤,找人帮忙完成 String str =Arrays.toString(num);//自己不做找Arrays函数帮我来做; System.out.println(str); } }
=-=-=-=-=-=-=-=-=-=-=-=-=-=
简化代码使用;
类与对象的关系
(模拟现实世界的事物)
属性 特征描述信息 是什么
行为 行动方案 能做什么
面向对象的语言中,类就是用来模拟现实世界的事物的。类 也有属性,行为两个组成部分,
而 对象 是 类 的具体事例;
“类” 抽象的 例如一张手机设计图
“对象” 具体的 真实存在的 例如 一块手机
类的定义
(使用来模拟现实事物的代码手段,分属性,行为,)
1.成员变量 (属性) :将变量位置直接定义在类中,在方法外 是 成员变量
2.成员方法 (行为) :将普通的方法 去掉 static 关键字 ,是成员方法
=-=-=-=-=-=-=-=-=-=-=-= 代码案例
package Diyitongjin.Lianxi_01; //定义一个类用来模拟现实事物,“学生” //学生事物有什么组成 //属性:姓名,年龄 行为:吃饭,睡觉,学习 //对应到类当中 也是两个部分 //成员变量(属性): //String name;//姓名 //int age;//年龄 //成员方法要去掉 static //public void eat(){...} //public void sleep(){...} //public void study(){...} public class Student { String name; int age; public void eat(){ System.out.println("吃饭"); } public void sellp(){ System.out.println("睡觉"); } public void study(){ System.out.println("学习"); } }
一个类不能直接被使用
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
根据类创建对象(建议主函数所在的方法要单独写一个类 ,如果写在构造的类中会显得,代码比较诡异)也叫类的实例化;
package Diyitongjin.Lianxi_01; /*一个类通常情况下不能直接被使用,类似于手机设计图不能直接打电话 *如果想使用这个类,通常根据类创建一个真正的对象来使用; * 类似于根据手机设计图创建一个真正的手机 * 如何根据类创建一个对象 格式 类似于 Scanner * 类名称 对象名=new 类名称(); * 数据类型 变量名称=new 数据类型(); * * */ public class StudengtD { public static void main(String[] args) { //专门启动程序 //希望根据Student 类来创建一个 学生对象 //类名称 对象名 =new 类名称(); Student stu=new Student();//创建了一个对象 ,是一个学生,名称叫stu //对象的名称 stu也叫对象的引用名 Student stu1=new Student();//可创建多个对象,不过名字不能一样 } }
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
如何使用已经创建出来的对象;
package Diyitongjin.Lianxi_01; /*如何使用创建好的对象? * * 类中已经定义好的两个部分 成员变量 成员方法 * 所以,根据类创建出来的对象也有这两个部分 * * 如何使用对象的成员变量? 格式 * 对象名.成员变量名 注意:对于成员变量来说,如果没有赋值,那么将会有一个默认值 * * 如何使用对象中的成员方法?格式: * 对象名.成员方法名(参数); * * 总结:通过对象名,想用谁就点谁; * */ public class Siyongduixiang { public static void main(String[] args) { Student stu=new Student();//创建一个学生 System.out.println(stu.name);//null System.out.println(stu.age);//0 //改变成员变量的值 stu.age=19; stu.name="zhao"; System.out.println(stu.name);//zhao System.out.println(stu.age);//19 //成员变量也可以交给一个普通变量 String name=stu.name;// 将对象中的成员变量交给一个name System.out.println(name); //使用对象中的成员方法 stu.eat(); stu.sellp(); stu.study(); } }