我们先来了解一下Java基础知识,以便于我们对Java的体系有个全面掌握和认知。
一、基础知识
1.Java的三种技术架构
JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;
JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;
JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
2.JVM、JRE和JDK的区别
JVM(Java Virtual Machine):java虚拟机,用于保证Java跨平台的特性。
Java语言是跨平台,jvm不是跨平台的。
JRE(Java Runtime Environment):java的运行环境,包括 jvm+java的核心类库。
JDK(Java Development Kit):java的开发工具,包括jre+开发工具
3.环境变量path和classpath的作用是什么?
(1)path是配置Windows可执行文件的搜索路径,即可扩展名为.exe的程序文件所在的目录,用于指定DOS窗口命令的路径。
(2)Classpath是配置class文件所在的目录,用于指定数据类搜索路径,JVM就是通过它来寻找该类的class类文件的。
环境变量的配置:
1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk
path=%JAVA_HOME%\bin
2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
4.变量有什么作用?
变量的作用:用来不断的存放同一类型的常量,并可以重复使用
5.数据类型
(1)基本书籍类型(4类8种):
整数类型:byte、short、int、long
浮点类型:float、double
字符类型:char
布尔类型:boolean(ture false)
(2)引用数据类型:
类
接口
数组
6.内存结构
栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:数组和对象,通过new建立的实例都存放在堆内存中。
方法区:静态成员、构造函数、常量池、线程池
本地方法区:Window系统占用
寄存器:速度最快的存储场所
7.数组
概念:同一种数据类型的集合。
好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。
8.重载
概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
特点:与返回值类型无关,只看参数列表(参数类型以及参数个性)
优点:方便了阅读,优化了程序设计。
9.& 和 &&区别
& :无论左边结果是什么,右边都参与运算。
&&:短路与,如果左边为false,那么右边不参数与运算。
| 和|| 区别:|:两边都运算。
||:短路或,如果左边为true,那么右边不参与运算。
二:面向对象:
(1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,强调具备功能的对象。
(2)思想特点:
A:是符合人们思考习惯的一种思想。
B:将复杂的事情简单化了。
C:将程序员从执行者变为指挥者。
比如我想达到某种结果,我就寻找能帮我达到该结果的功能的对象,如我要洗衣服我就买洗衣机,至于怎么洗我不管。
(3)特征:
封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式
继承:多个文件中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性行为,只要继承那个类即可。
多态:一个对象在程序不同运行时刻代表的多种状态,父类或者接口的引用指向之类对象
抽象:就是忽略一个主题中与之当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.类和对象
类:对现实世界中某类事物的描述,是抽象的,概念上的含义。
对象:事情具体存在的个体。
3.匿名对象
(1)匿名对象就是没有名字的对象。是对象的一种简写形式。
(2)应用场景
A:只调用一次类中的方法。
B:可以作为实际参数的方法传递使用。
4.关键字private:封装在代码中的体现
(1)私有意思,权限修饰符
(2)用来修饰成员变量和成员函数
(3)用private修饰的成员只在本类中有效
(4)私有是封装的一种体现
5.构建函数
用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种。
特点:
1:该函数的名称和所在类的名称相同。
2:不需要定义返回值类型。
3:该函数没有具体的返回值。
记住:所有对象创建时,都需要初始化才可以使用。
注意事项:一个类在定义时,如果没有定义过构造函数,那么该类中会自动生成一个空参数的构造函数,为了方便该类创建对象,完成初始化。如果在类中自定义了构造函数,那么默认的构造函数就没有了。
一个类中,可以有多个构造函数,因为它们的函数名称都相同,所以只能通过参数列表来区分。所以,一个类中如果出现多个构造函数。它们的存在是以重载体现的。
6.this关键字
(1)this关键字代表本类对象的一个引用,谁调用this所在的地方,this就代表谁
(2)this的使用场景
A:用于区分同名成员变量和局部变量;
B:在定义函数时,该函数内部要调用该函数的对象时,因为此时对象还没建立,故this代表此对象
C:构建函数间调用
**这个时候,this(参数)必须作为第一条语句存在。
7.static关键字
(1)静态的意思,用来修饰成员变量和成员函数
(2)静态的特点:
随着类的加载而加载
优于对象存在
对所有对象共享
被可以被类名直接调用
(3)静态的主意事项
A:静态方法只能访问静态成员
为什么?因为静态的内容是随着类的加载而加载,它是先进内存的。
B:静态方法中不能使用this.super关键字
C:主方法是静态的