面向过程与面向对象的区别简述
面向过程:procedure oriented programming ( POP)
分析出解决问题所需要的步骤,然后把步骤一步一步实现。
面向过程适合处理简单的事情,直接关注流程,简单有效。
面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系作出分类,然后,根据不同的类深入细节的处理。
面向对象:object oriented programming ( OOP)
以分类的方式进行思考和解决问题,面向对象的思维方式适合于处理复杂的问题。面向对象的思想符合人类的认知习惯。
面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。
类和对象
类是一类事务的抽象概念,是一个模型。
对象是由这个模型所创造的一个一个的具体存在的,是实实在在存在的实例。所以创建对象的过程也叫实例化对象。
现实生活中先有对象后有类,而编程时先设计类后创建对象。
变量
成员变量
定义在类中,方法体之外的变量。
成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。
成员变量在创建对象的时候会从类中复制一份到对象中。
成员变量可以被类中方法、构造方法和特定类的语句块访问。
成员变量的作用范围为整个类体。
局部变量
在方法、构造方法或者语句块中定义的变量被称为局部变量。 局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)局部变量在使用前必须初始化赋值变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
类变量
(也叫静态变量)类变量也声明在类中,方法体之外,但必须声明为static类型。
方法的重载
指一个类中可以定义有相同的名字,但参数不同的多个方法。 调用时,会根据不同的参数表选择对应的方法。
方法重载同一个类中方法名相同参数不同(可以有三方面的不同)
数量不同
类型不同
顺序不同
注意:方法重载跟方法的返回值类型没有任何关系
以下代码仅供参考:
package Day1;
public class Car {
String name;
float price;
String type;
public String toString()
{
return "name:"+name+"\t"+"price:"+price+"\t"+"type:"+type;
}
public String run(){
return "启动";
}
public String speed(){
return "加速";
}
public String stop(){
return "刹车";
}
}
package Day1;
public class Test {
public static void main(String[] args) {
Car car =new Car();
car.name="兰博基尼";
car.price=1000000;
car.type="sport_car";
System.out.println(car.run());
System.out.println(car.speed());
System.out.println(car.stop());
System.out.println(car);
}
}