J2SE知识点归纳笔记(一)---Java初涉
Java初涉
前言:
虽然J2SE对于很多朋友来说都已经学过了,有点不屑;
但部分的朋友反映,都是直接学的android开发,对Java的学习半桶水;
但是在面试的时候,往往会问一些Java的基本知识
被问到哑口无言,连Java基础都学不好,还指望你android能学的有多好么= =
所以从今天开始,给大家总结一下JavaSE部分的知识点
希望可以帮到读者们巩固基础知识,同时也是对自己学习的一个反思
一起加油吧,干巴爹↖(^ω^)↗
学习路线图:
ps:请按优先级来学习,①代表重点掌握要熟练,②代表要掌握,③有个大体的映像就行,别人问你要说得出来个大概
面向对象的初步了解:
面向过程向面向对象的过渡:
相信大多数的朋友都应该接触过C语言,C语言是面向过程语言的一个代表
如何区分面向对象与面向过程呢?
这里给大家举个例子: 比如我们平时玩的棋类游戏
笼统定义:将生活中的对象进行描述,通过类的形式,描述事物的属性和行为
面向对象是从宏观来看待问题的,面向过程则是从微观来解析问题
面向对象的几个基本概念:
对象:人们要进行研究的任何事物 类:具有相同或相似性质的对象的抽象
对象的状态与行为:数据与相应的操作
类的结构:类间的结构关系,"一般---具体 is a"关系,和"整体---部分" has a"关系
面向对象的基本特征:
①封装(Encapsulation):隐藏对象的实现细节,通过公有方法暴露对象功能
②多态(Polymorphism):子类对象可以直接赋值给父类,但运行时表现出子类的行为特征
③继承(Inheritance):一个类共享一个或多个类定义的结构与行为,表示一种泛化/特化的层次关系
④抽象(Abstraction):忽略主题中与当前目标无关的方面,以便更充分地注意与当前目标有关的方面,包含过程抽象与数据抽象
面向对象的方式:ADP
OOA(分析):产生系统的类和对象,描述软件要做什么
OOD(设计):OOA的细化,强调复杂系统的正确和有效构建,即确定类间的关系,对象间的关系,类的状态转换,模块间的依赖等,软件怎么做
OOP(编码):三个标准条件:1.使用对象而非算法作为基本逻辑组件;2.任意对象都需为某个类的实例3.类通过继承关系与其他类相关
Java语言简介
大概历史:
Sun公司的,Java的跨平台使得Java深受欢迎,而Java这个名称是因为,某人喜欢喝"爪洼岛"的咖啡,Java的名字就这么来了
在中国又叫"甲骨文",后来sun把Java卖给了Oracle,所以现在的Java考试认证也是由Oracle负责举行的
ps:如果有兴趣了解的可去百度百科瞅瞅
四种技术架构:
JAVASE,JAVAEE,JAVEME(嵌入式,已过时),JavaCard(适用于智能卡的Java平台)
Java的主要优点:
面向对象,跨平台,多线程,安全,简单和健壮性,以及改进了的解释性:
为了弥补解释语言较慢的不足,Java采用预编译方法,生成字节代码,有些JAVA环境用JIT编译器
将字节码编译成机械码,直接运行,针对重复执行的服务端软件可以达到C的速度
相关名词解释:
JVM Java虚拟机 (Java Vittual Machine)
是一种想象中的机器,在实际计算机上通过软件模拟来实现,在Java运行环境中处于可信地位,
它使得Java可以跨平台执行,包含一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个存储方法域
运行原理:在任何一个平台上都给编译程序一个共同的接口,Java源程序经过编译器编译后变成字节码,
字节码再由虚拟机解释执行,虚拟机将每条执行的字节码送给解释器,解释器翻译成特定机器上的机器码
最后在特定的机器上运行
JRE与JDK
JRE(Java Runtime Enviroment)运行时环境:JVM + 核心类库
JDK(Java Development Kit)开发工具集: JRE + 编译器
JVM的垃圾回收机制(Garbage Collection)
回收的是没有任何引用指向的对象空间,一般情况下Java会自动进行垃圾收集
如果想要手动请求垃圾收集,可以调用system.gc()或者finalize()方法建议;
也仅仅是建议而已,并不能精确地控制垃圾回收机制的执行
开发环境的搭建
jdk的安装:
现在最新的是 jdk 1.7,有兴趣的可以去官网下载
笔者用的是1.6,链接:jdk 1.6下载
都是傻瓜式地下一步就可以了
环境变量的配置
右键我的电脑--->高级--->环境变量
JAVA_HOME:jdk的安装目录
Path:在最前面添加:%JAVA_HOME%\bin; !别删掉后面的啊,不然你电脑出毛病了别找我= =
CLASSPATH:%JAVA_HOME%\lib\tools.jar;
新建JAVA_HOME
修改Path变量
CLASSPATH变量的配置:
验证环境是否配置完成
在cmd(win + R)中输入javac,出现如图效果,说明配置环境完成
jdk安装目录下的几个包:
bin:工具命令:javac,java等 jre:运行Java所需要的JRE环境
lib:JDK工具指令的实际执行程序 src.zip:核心类库的源代码
第一个Hello World详解:
Java代码的运行原理:
dos的几个基本指令
dir:列出目录与文件夹
cd * .. \:进入指定目录
md:创建目录
rd:删除目录,但是只能够删除空的文件夹,这样可以防止误删
del:删文件,多文件时可以,*.txt 删除所有txt文件这样
exit:退出dos
代码编写:
public class HelloWorld //public是一个访问修饰符,class表示声明一个类,HelloWorld类名{ public static void main(String args[]) //主方法,程序的入口 { System.out.println("Hello World!"); //调用System的out对象的println()方法打印出"Hello World!" }}/*这里要注意,文件名需与公共类名相同,既保存的时候要写成:HelloWorld.java,否则报错,缺少什么;还有一个java文件只能有一个公共类或者公共借口!!*/
调试运行:
step 1:打开cmd,来到java文件的存放目录
step 2:编译:javac HelloWorld.java //不要漏.java;如果出错了,要修改java文件中错误的文件再调用javac编译
step 3:运行:java HelloWorld
截图:
总结:
这就是这一节的知识点总结,内容不多
新手从面向过程向面向对象的过滤有点困难,以后学下去慢慢就会有
体会了,这里占时即可
Java的语言背景要有个大体映像,别人问你的时候要大体答得出来
Java的环境搭建与代码运行都要熟练掌握
ps:如果有什么纰漏,错误,或者读者有什么建议的,可以指出;
不甚感激啊,(*^__^*) 嘻嘻……