在介绍java基础语法之前先让我们了解一下面向对象的编程,面向对象的编程产生的历史原因:由于面向过程编程在构造系统时,无法解决重用,维护,扩展的问题,而且逻辑过于复杂,代码晦涩难懂,因此,人们开始想能不能让计算机直接模拟现实的环境,以人类解决问题的方法,思路,习惯和步骤来设计相应的应用程序。于是,面向对象的编程思想就产生了。
面向对象的编程的主要思想是把构成问题的各个事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在解决问题的过程中经历的步骤和行为。对象作为程序的基本单位,将程序和数据封装其中,以提高程序的重用性,灵活性和可扩展性。类是创建对象的模板,一个类可以创建多个对象。对象是类的实例化。
类是抽象的,不占用存储空间;而对象具体的,占用存储空间。
面向对象有三大特性:封装,继承,多态。(敲黑板了啊,面试会问的)
一、基本语法
- 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
外部类、内部类、静态类、匿名类、抽象类
- 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
- 变量:变量就是初中数学的代数的概念,例如一个简单的方程,x,y都是变量。
成员变量、局部变量、静态变量(类变量)
- 接口:可理解为对象间相互通信的协议。
- 常量:指整个运行过程中不再发生变化的量,例如数学中的π=3.1415...。
- 修饰符:用来修饰类中方法和属性。
访问控制修饰符 : default, public , protected, private
非访问控制修饰符 : final, abstract, static, synchronized
- 标识符:Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
类名、接口名:大驼峰 (HelloWorld、Student)
方法名、变量名:小驼峰(helloWorld、myName、getTime)
包名:小写字母和数字(package animals)
常量名:字母全部大写
二、基本数据类型
- 八种基本数据类型:byte、short、int、long、float、double、boolean、char。
- 引用数据类型:引用类型指向一个对象,指向对象的变量是引用变量。对象、数组都是引用数据类型。
- 装箱与拆箱:拆箱(右到左)是把“引用”类型转换成“值”类型;装箱(左到右)是把“值”类型转换成“引用类型”;原因是有时某些方法的参数要求使用“引用”类型,而你想把“值”类型的变量通过这个参数传入,就需要使用这个操作。
类型转换:自动类型转换和强制类型转化(向上转型(upcasting)、向下转型(downcasting))
举个例子:有2个类,Father是父类,Son类继承自Father。
Father f1 = new Son(); // 这就叫 upcasting (向上转型) // 现在f1引用指向一个Son对象
Son s1 = (Son)f1; // 这就叫 downcasting (向下转型) // 现在f1还是指向Son对象