JavaSE——面向对象

人生第一次写博客,不知道写点什么,大三了,即将面临秋招,那就复习一下我学习的JavaSE吧,纯属个人理解,如有错误,请大家指正,谢谢大家。

从面向对象开始吧。面向对象编程(OOP),是Java的核心。我们要理解面向对象的思想,这样就会一通百通。詹姆斯·高斯林,Java的创始人,他想让程序员变得更加轻松,例如:Java的图标为什么会是咖啡,我觉得并不是他喜欢喝爪哇咖啡,而是寓意着想让程序员变得更加轻松(个人想法)。所以他觉得如果能让程序员用生活中的思维方式来解决程序中的问题,程序员就会变得更加轻松。所以面向对象这套体系是将生活和程序进行了映射。如果想了解面向对象,我们需要从生活中进行理解。

首先解释一下概念,何为对象?但是要解释对象,就要通过类来解释。因为有句话叫做类是对象的模板,对象是类的实例。先有类再有对象。那就先解释一下类。比如,程序员是程序世界的神,程序员来创造程序世界的万事万物。到了生活中也是一样,因为面向对象是将生活和程序进行了映射吗。有一个神创造了世界,比如他在创造人的时候,在创建人的一瞬间,就是人类诞生之前,它的脑海里肯定会有人的概念。所以类是用来描述生活中的概念。对象是概念下的实体。所以才有了对象是概念的实例。面向对象都是捋着这个思路来的。

class,abstract class。类是概念,那么抽象类就是抽象概念。不过这个抽象概念是相对而讲的。比如说,苹果是一个概念,水果就是一个抽象概念。红富士是一个概念,那么苹果就是一个抽象概念......抽象概念是根据参考系决定的,所以这就给了程序员很大的空间。所以,extends继承,但是我觉得应该是扩展的意思,因为继承一听应该是对象和对象的关系,但是在Java程序中表现为类与类之间的关系,是类对类进行了扩展,例class Apple extends Fruits:苹果扩展了水果的概念,但是因为前辈们这么长时间都是这么叫的,所以继续沿用。继承是面向对象体系中的架构的表述。继承的好处是显而易见的,代码的复用,特征和行为的复用(属性和方法的复用),最关键的是继承完善了面向对象的体系。因为生活中离不开概念和概念的扩展关系,所以Java中要有继承。还有内部类,概念中的概念。

interface(接口),表示能力当规范用。接口的名字大家基本都习惯于xxxable,为什么我说接口是表示能力的呢,因为要实现接口,一定要重写里面的方法,方法是行为,就是一种能力,实现了接口就证明,你一定会具有这种能力。接口还表现了一种强制性,比如你要实现这个接口,你一定要实现这个接口的方法,这就是一种规范。这时候有个词,叫做面向抽象(接口或抽象类)编程,这样会使代码更加灵活,最简单的例子,你参数定义了Object,所有的类都能传进来。

enum(枚举),是一个特殊的类,用来描述生活中有固定实例个数的类,比如说:四季啦、星座啦、月份啦、星期啦......比如你写个person枚举,即使很好用,但是不合理,因为不符合面向对象的体系。

annotation,描述的是元数据,什么叫元数据呢?元数据就是用来解释说明数据的数据。比如说“你“是一个数据的话,解释我的数据是什么呢?例如:帅,聪明,有潜力......在Java中,annotation叫做注解,比如说在代码中,Override,解释方法是一个重写方法等等。

有了这些就构成了整个面向对象体系。

猜你喜欢

转载自blog.csdn.net/gjwcsdn/article/details/81148440