20171209:面向对象:类和对象,方法的重载
一、面向对象编程语言(Object Oriented Programming)
(1)java是一种面向对象编程的语言,区别于C语言面向过程的语言,它将问题抽象成一个类,OOP思维为:
1.考虑问题中设计到的对象
2.对象的特征和功能
3.对象与对象之间的关系
(2)类与对象
关于类:
具有相同性质的抽象就是类,因此,对象的抽象是类,类的实例就是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性;
类具有方法,它是对象的行为的抽象,用操作名和实现该操作的方法来描述;
关于对象:
对象具有状态,一个对象用数据值来描述他的状态
对象还有操作,用来改变对象的状态,对象及其操作就是对象的行为
对象实现了数据和操作的集合,使数据和操作封装于对象的统一体中
因此,在分析问题时应先将问题中所涉及到的对象抽象出来,并总结出对象应该具有的属性和行为,由此将对象
共同的属性和行为写进一个类中,作为对象的模版,属性在类中体现为成员变量,行为在类中体现为方法。
(3)构造方法
构造方法也是一种方法,作用是对类产生的对象进行初始化,初始化指的是对类成员变量的初始化,可以是全部
成员变量,也可以是部分,也可以进行空初始化。
构造方法的要求:
1.构造方法与类名同名,无返回值且不加void
2.构造方法的作用就是初始化对象
3.每个类中都至少有一个构造方法(没写编译器会默认生成一个空的构造方法,一旦程序员自己写了一个带参构造方法,那么编译器便不会去默认生成空构造)。
如:Student stu = new Student();
这条语句便是创建了一个Student类的对象,该对象被一个无参构造初始化,简单分析一下在内存中的模型:
(4)方法的重载(Overload)
在同一个类中,方法名相同,参数列表不同(参数类型,参数个数,参数顺序),与返回值无关的方法认为是重载的方法。