---------------概念-----------------
谈谈面向对象的思想
面向对象是一种编程思想,在面临问题时跟面向过程的区别是:面向对象关注使用什么工具去解决,而面向过程是关注解决问题本身。就好比面向对象是“调用者”,面向过程是执行者。例如:编写一个生成随机数的函数,面向对象回去调用random方法,而面向过程会去编写一个生成随机数的方法。
面向对象由三大特性:封装,继承,多态;
封装:
把类的数据声明为私有的,提供特定的方法去访问,就比如公有方法调用私有属性;
继承:
一个类可以去继承一个类,被继承的类是父类,另一个类是子类,子类拥有父类的方法,这样就实现了代码的复用,避免了重复的代码,并且可以重写和覆盖父类的方法。Java只有单继承,没有想C++的多继承。但是Java中的接口可以多重实现。
多态:
发生在子类继承父类中,重写父类的方法可以使同名的方法产生不同的结果,即一个操作产生多种状态。
重写的规则:同名方法,不同参数类型、参数个数、参数。。。、重写方法区分度要够,不同的返回值类型不能算是重写。
1、面向对象的编程语言
2、吸收了C++的优点,摒弃了C++难以理解的多继承、指针等概念,所以Java语言具有功能强大和简单两大特性。
3、极好的实现了面向对象理论,使得程序员以优雅的方式进行复杂编程。
JDK1.5之后的三大版本
JavaSE(标准版):
允许开发和部署在桌面、服务器、嵌入式环境和实时环境的Java应用程序。它包含了支持JavaWeb服务开发的类,为JavaEE、JavaMe提供了基础。
JavaEE(企业版)
帮助开发和部署可移植性、健壮、可伸缩性、安全的服务端应用程序。
JavaME(微型版)
为移动设备、嵌入式设备上运行的应用程序提供健壮且灵活的环境。
JDK、JRE、JVM的关系
JDK(Java Development Kit,Java开发工具包)
提供给Java开发人员使用的,包含了Java的开发工具,包含了JRE,所以它是提供了Java的开发环境和运行环境的。
包含了编译Java源文件的编译器,调试和分析工具。
JRE(Java Runtime Environment,Java运行环境)
包含了JVM和Java程序需要的核心类等
JVM(Java Virtual Machine,Java运行虚拟机)
JVM是跨平台的核心,但是JVM本身并不是跨平台的,即不同平台有不同的JVM;不同的平台需要安装不同的JVM
提供了执行字节码(.class)的能力
注意:
如果只是运行Java程序,只需要安装JRE即可。
什么是跨平台?原理是什么?
**跨平台:**Java程序经过编译,一次编译,就可以在多个系统平台运行。
**原理:**Java程序是通过JVM在系统上运行的,即不同的平台只要安装了对应的虚拟机,就可以运行Java程序。
Java语言的特点
1、简单易学(Java语言的语法与C语言和C++语言很接近)
2、面向对象