面向对象的基础知识——类

摘自《其实你应该这样学Java》

10.1 面向对象

  面向对象的开发方法,是将客观世界看作由一个个对象组成,每个对象都有自身的特点规律(属性、行为)、同时可以通过外部接口同外部联系。所有相同类型的对象抽象出一个高层的概念——类,由类生成具体的一个个对象。

例子:“人”,就是一个抽象的概念。“人”不是具体指哪个人,而是所有人的抽象,具有四肢、面貌等属性,以及吃饭、睡觉、思考等动作行为。“人”有自己的身体、思想等内部规律,也有眼、口、手等跟外界打交道的接口由“人”可以具体到“张三”、“李四”等,他们就有同样的属性和行为,只是属性和行为的值不同而已。通过眼、口、手的接口,他们可以互相联系,传递消息

  面向对象有四大特点:抽象、封装、继承、多态。

  抽象是指同类事物共有的属性和方法。通过抽象,可以把不重要的细节忽略,只关注核心性质

例如:“狗”没有身高、毛色等具体值,只是一个概念,由此概念可以派生出多种多样的狗的类型。这就是抽象的作用。

  封装是一种很好的模块化方法。封装就是把事物本身的属性和方法包含在一起,形成一个独立的模块。这样,所建立的模块如有问题,就只用修改这一个模块,而不用修改整个运行环境。

例如:发电机可以独立存在,有其特有的属性和方法。我们只跟发电机有很少的交互接口:注入燃料,输出电能。如果发电机出故障,可以更换发电机,而不用更改所有使用发电机的设备。

  继承是由已有的抽象事物创建新的抽象事物的过程。通过继承,我们不用再描述“狮子狗”的种种特性,而是只要说明它是继承自“狗”的概念,并在此概念上描述所增加的部分新的特性,就可以把“狮子狗”描述清楚。通过层层抽象,将各种事物都能尽量简单而精确地描述清楚。

  多态是指同一名称动作,在不同情况下有不同行为的现象。好处是可以将动作也形成抽象的含义,使用户只关心用什么动作,而不用关心是如何实现的。不懂

10.2 类

10.2.1 类就是具有相同属性和方法的事物的集合的抽象。类不是实体,不能直接运行。但可由类生成实体(对象),这个实体就可以在系统中运行了。

10.2.2 类的定义      类修饰符 class 类名

        {

        //类体

        }

  类体一般由成员变量和成员方法组成。

10.2.3 成员变量是在类中定义的变量。注:成员变量不是在成员方法中定义的变量

1 public class Example1001
2 {
3   public int a;    //成员变量
4   public static void main(String[] args)
5   {
6         int b;   //局部变量     
7   }
8 }

只要定义了成员变量,它就可以在类内使用,无论在成员方法内部还是外部。而局部变量只能在所在的小模块内使用。

成员变量定义后就会有初始值:int——0,double——0.0,boolean——false

10.2.4 成员方法

成员修饰符 返回量类型 成员方法名(参数列表)
{
   成员方法体
}

方法体内定义的变量就是局部变量

10.2.5 内部类——Java支持在类中再生成类,这种在类中创建的类称为内部类。相应地,在外面的类称为外部类。

内部类的定义形式如同一般的类,使用时需要注明所在的外部类的类名。

 

原文地址:https://www.cnblogs.com/jolene-wu/p/8059528.html