一、
面向过程的思想: 遇到问题,想,我该怎么解决这个问题,然后一步一步解决
面向对象的思想:遇到一件事,思考,我该让谁去做,至于他怎么做,不需要我考虑,只要最后做好
实例:我们要组装一台电脑
面向过程:上网上查询各种硬件参数性价比去商城观察问价,找到最适合的,买回来各种硬件自己组装。
面向对象:找一个组装电脑的专家,告诉他我需要一台电脑,组装之后给我
二、
面向对象的好处:
更符合人们的思考习惯
面向对象更像是一个指挥者,面向过程像一个执行者
面向对象的思维方式可以将复杂的问题简单化
世界万物皆是对象
三、
类和对象的关系:
类:对某一类事物的抽象描述
对象:用于表示现实中该事物的个体
类用于描述多个对象的共同特征,相当于一个模板
对象是通过类创建出来的,一个类可以对应多个对象
四 、
成员变量和局部变量的区别
作用域
成员变量:作用范围是整个类
局部变量:作用于一个方法内,或语句内
作用上的区别
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:在调用了对应的方法时执行到了创建该变量的语句时存在,局部变量一旦出自 己的作用域那么马上从内存中消失
初始值
成员变量是有默认的初始值
局部变量没有默认值 必须先初始化才能使用
五、
面向对象的三大特征
封装
继承
多态
封装的表现: 方法就是一个封装体,类也是一个封装
封装的特点:
提高了代码的复用性
隐藏了实现细节,还要对外提供可以访问的方式,便于调用者的使用
提高了安全性
六、
private关键字
建一个人的类:
public class Person { String name; int age; //定义一个跑的方法 public void run(){ System.out.println(age+"岁的"+name+"在跑"); } }
public class Test { public static void main(String[] args) { Person p=new Person(); p.name="小明"; p.age=1000; p.run(); } }
这个结果中,1000岁的小明在跑,这个年龄肯定不符合,为了解决这个问题,我们就想,如果不能修改age变量,这个问题就可以解决,于是有了private关键字,
被private修饰的成员只能在自己的类中使用
可以对私有的成员,提供公共的访问方式,方法
public class Person { // 人的姓名年龄,成员变量 String name; private int age; // 定义方法,对age赋值 public void setAge(int a) { if (a < 0 || a > 100) { age = 20; } else { age = a; } } //定义方法,获取age public int getAge(){ return age; } // 说话功能 public void speak() { System.out.println(age + "岁的" + name + "在说话"); } }
public class PersonTest { public static void main(String[] args) { Person p = new Person(); p.setAge(80); System.out.println(p.getAge()); p.name = "张三"; p.speak(); } }
原文:https://www.cnblogs.com/bxl-1016/p/10538969.html