面向对象和面向过程
POP 面向过程是具体步骤的实施,是执行者思维;面向对象是随着软件规模的扩大,问题复杂性的提高,而提出面向对象思想并成为目前主流的方式。
OOP 面向对象关注的焦点是类:在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,用类来表示。是设计者思维
面向过程与面向对象不是对立关系,二者相辅相成。
当问题单一或简单时,直接使用面向过程速度快效率高。当问题复杂时,使用面向对象。
类是具有相同特征事物的抽象描述, 对象是实际存在的该类事物的每个个体,是具体的,因而也称为实例。
类的声明格式为:
[访问权限修饰符] [修饰符] class Car{
}
访问修饰符有两种public,无(默认)
修饰符:final,abstract
关键字class用来定义一个类
Java类名的命名规范: 类名首字母大写,见名知意,驼峰表示。
public class Car {
/*
类中成员变量
属性(从理解层面来讲)
*/
String name;
float price;
String color;
/*
类的构造方法,方法名和类名相同。没有返回值 不需要void修饰 如果没有写出类的构造方法,java默认提供一个没有参数的构造方法
作用:在构造方法中为创建的对象成员变量初始化赋值。
*/
public Car(String n,float p,String c){
name=n;
price=p;
color=c;
}
public Car(){
}
类是抽象概念,不能拿来直接使用,要使用的话需要创建对象(即类的实例)
Car abs=new Car(); //使用new创建对象,=将右边地址赋值给左边变量abs
Car bbc=new Car(); //同一个类的不同对象拥有不同的内存空间
//使用对象名.属性或对象名.方法的方式访问对象成员
现实中先有对象后有类。而编程时先创建类再创建对象。
方法的重载:定义同一个类中名字相同,而参数不同的情况叫做方法的重载。//跟方法的返回值类型没有任何关系
//参数不同:指参数个数、参数顺序、参数类型不同
对象与引用:
//JAVA中除8种基本数据类型外,其余均是引用数据类型
//JAVA中的对象是通过引用对其操作的
java中进行方法调用参数时,参数传递有两种:
值传递和引用传递(也称址传递)
值传递: