编程是为了解决现实生活中复杂的计算和存储问题的;
而现实生活中,各个事物是非常复杂的,如果都想用编程来表达,那么仅仅靠Java的8种基本数据类型是做不到的,所以就需要更完善的结构化数据类型
来表达;
比如 人 这种事物,不仅有很多的属性(四肢、身高等),还有很多的行为(唱歌、跳舞),而且每个人的数据也是不同的,所以就需要我们将人这种事物抽象出来,成为一种新的数据类型,而Java这门语言可以轻松的帮我们实现这种工作;
基于Java语言的这种强大的能力,我们给他命名为Java是面向对象(事物)的编程语言
;
在Java的编程上,就是所有类型
都会强制的继承Object(对象)
这个类;从而能够表达Java是面向对象的一种编程范式;
面向对象的特点: 抽象
、封装
、继承
、多态
;
学习Java编程就是搞清楚面向对象的这4个特点,然后灵活运用Java编程解决现实生活中的问题;
一、抽象
编程的目的就是将现实世界的事物,抽象
为计算机可以理解的代码,比如人
对应的Person
;
二、封装
封装的目标是将 事物的信息 放到一个 类 中表达,当然也可以控制类和类中属性的访问权限;
1、减少耦合: 可以独立地开发、测试、优化、使用、理解和修改;
2、减轻维护的负担: 可以更容易被程序员理解,并且在调试的时候可以不影响其他模块;
3、有效地调节性能: 可以通过剖析确定哪些模块影响了系统的性能;
4、提高软件的可重用性;
5、降低了构建大型系统的风险: 即使整个系统不可用,但是这些独立的模块却有可能是可用的;
三、继承
继承实现了 IS-A(是一个) 关系,例如 冰冰 和 人 就是一种 IS-A 关系;
继承应该遵循里氏替换原则,子类对象必须能够替换掉所有父类对象;
1、面向对象最重要的特点之一,就是可以实现对类的复用;
2、通过“继承”一个现有的类,可以使用已经定义的类中的方法和变量;
3、类的方法可以被继承,但是类的构造器不能被继承;
四、多态
1、在Java中,对象变量是多态的;
2、一个类型为Aclass的变量既可以指向类型为Aclass的对象,又可以指向Aclass的任何子类的对象;
3、方法重写、向上类型转换都是泛型的体现;