一、面向对象的程序设计中的两个重要概念:
1、类:创建的所有 class 都是类,是一个抽象的概念,类中包含了数据(在类中叫属性或成员变量)与对数据的操作(在类中叫做方法)。例如人是一个类,他有姓名、年龄等数据属性、好友吃饭、睡觉、娱乐、和工作等动作。
方法:静态方法(static修饰符)、非静态方法(无static修饰符)
方法之间的调用关系:
1)、非静态方法调用静态方法或者非静态方法可以直接调用。
2)、静态方法调用静态方法可以直接调用。静态方法调用非静态方法需要 new 对象,通多对象.方法名来调用。
3)、静态方法或者非静态方法都是属性里面的方法所以都可以先 new 一个对象,然后通过对象.方法名来调用。
【注意】方法不能嵌套,即方法不能定义在另一个方法里面。
2、对象:(又叫作实例,所以生成一个对象的过程就就叫做实例化)是对象的具体的概念。例如人是一个类、那么具体到那个人就是人的对象了。
3、命名约定:
a)类: 首字母大写,如果一个类名由多个单词组成,则每个单词的首字母大写,中间不使用任何连接符。如果Person、MemberTest
b)方法:首字母小写,如果一个方法名由多个单词组成,则第一个单词全部小写,从第二个单词开始,每个单词首字母大写。如add、addUser
c)属性: 命名约定同方法相同。如age、userName
二、面向对象的三大特点:
1、封装:将数据与方法放在一个类中就构成了封装。通俗的讲是指隐藏对象的属性和实现细节。
【好处】将变化隔离、便于使用、提高重用性、提高安全性
【封装的原则】将不需要对外提供的内容都隐藏起来、把属性都隐藏,提供公共方法对其访问
2、继承:使用extends关键字后,子类对象拥有父类对象的属性和方法。
1)提高代码的复用性。
2)让类与类之间产生关系,有了这个关系,才有了多态的特性。
3)Java中只支持单继承,不支持多继承。
4)Java支持多层继承。
3、多态:可以理解为事物存在的多种体现形式(父类类型的变量引用指向子类类型的对象)。
1)、体现:父类类型的应用指向自己的子类对象,传递参数时、父类的应用可以接收自己的子类对象。
2)、前提:必须使类与类之间的关系,要么继承要么实现。
3)、好处:多态的出现大大的提高了程序的扩展性。
4)、使用:当使用多态方式调用方法时,会首先检查父类中是否有对应的方法,如果没有则编译错误;如果有则会调用子类对应的方法
5)、转换:
向上类型转换:将子类型转换为父类型,不需要加显示指定。