面向对象的引入
一、面向对象和面向过程
面向对象是一种编程思想,相对于关注流程解决问题的面向过程来说,面向对象以分类的方式思考解决问题,更符合人类的认知习惯。但是面向对象无法取代面向过程,二者间的关系是相辅相成的。
二、类
生活中我们提到类,就会想到植物的科类,人类等。在java里也差不多,它是一个模板,是描述一类事物的属性和行为的集合。是一个抽象的概念。拿食物来说,食物有不同的气味、颜色、名称。这些就成为类的成员变量,他们有共同的行为被人吃,这些行为就是类中的方法。
三、定义类的方法
public class Cook{
String name;//名称
String color;//颜色
float taste;//味道
//方法声明格式:
[访问权限修饰符] [修饰符] void [方法名](){
}
}
四、对象的创建和使用
Cook c=new Cook();//对象的创建
Cook c是使用Cook类作为类型声明变量c.(类是引用类型)
new Car()是使用new+Cook类的构造方法创建对象.
注意:给c变量赋的是右边创建对象的地址,从而使用c变量访问对象中的成员变量和成员方法。同一类可以创建多个对象,并且每个对象有不同的成员变量存储空间,每个对象都共享该类的方法。
五、类和对象的关系
类是一类相同特征事物的抽象概念,类似于参考模型。
对象是由这个模型创造的真实且具体存在的实例.
六、变量分类
按照位置变量分为:
成员变量:
1、是定义在类中,不在方法体内的变量。
2、可以使用java语言中所有数据类型,包括基本类型和引用类型。在定义成员变量时可以对其初始化,如果进行初始化操作,java将使用默认的值对其进行初始化。成员变量在创建对象时会从类中复制一份到对象中。
3、成员变量可以被方法、构造方法和特定的语句块访问。
4、成员变量的作用范围为整个类体。
局部变量:
1、在方法、构造方法或者语句块中定义的变量称为局部变量。
2、局部变量和成员变量一样可以使用java语言中所有数据类型。局部变量在使用前必须初始化赋值。
变量声明和初始化都是在方法中,等方法结束后,变量就会自动销毁。
七、类中方法的分类
成员方法:成员方法定义在类中。
语法格式:
修饰符 返回值类型 方法名( 参数列表) {
方法体语句;
[return 返回值]
}
构造方法:用来初始化对象的方法
八、构造方法和方法的重载
1、构造方法名与类名相同,不需要void修饰符,没有返回值。
2、一般作用是为创建对象初始化赋值
3、我们在创建一个对象时,至少要调用一个构造方法。如果自己没有定义构造方法,java会为类提供一个默认的构造方法,如果自己编写了构造器,那么默认的构造方法将失效。当然我们也可以编写一个空构造器,也就是默认的构造方法。
4、一个类可以定义多个构造方法
例如:
public class Cook{
public Cook(){}
public Cook(int a){//有参数的构造方法
}
}
所以我们有两种创建对象的方法
Cook c1=new Cook;
Cook c2=new Cook(15);
5、方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。
6、参数不同是指参数的数量不同或类型不同或者顺序不同。
7、调用方法时,会根据不同的参数表选择对应的方法。
8、需要注意的是:方法重载跟方法的返回值类型没有任何关系
九、总结
通过以上知识我了解了类和对象的关系,定义类和创建对象的方法,以及类中变量和方法的一些概念。由这节课知识点可以编写出一个简单的使用面向对象编程思想的程序。
2022/5/21