java基础回顾 面向对象 jvm 构造 新手适用
面向对象和面向过程
java是什么呢,是哪个?什么是面向对象,什么是面向过程?它们有什么区别,以及优缺点?
面向对象
学习java都知道,java是面向对象的。先说一下它的优缺点。
- 优点 ,易维护、复用、拓展,以及封装、继承、多态三大特性,可设计出低耦合系统,使系统更易维护、更加灵活;
- 缺点,性能比面向过程低;
面向过程
- 优点 ,上面说了,性能是比面向对象高的,当性能势重要考虑因素时,将会采用面向过程开发;
- 缺点, 同理,没有面向对象易维护、复用、拓展
JVM
简介
- 这个应该都知道是什么,是虚拟机,运行java字节码的存在。就是因为它才体现了java跨平台的特性,针对不同系统,同样的字节码可以计算出相同的结果。
- 字节码,这个东西应该都很熟悉,就是.java编译出来的.class文件(相对jvm而言)。编译一次便可在多种系统上运行,运行时比较高效。
运行步骤
.java(所谓的源代码) —> .class(jvm可以理解的java字节码) —> 机器可执行的二进制机器码
JDK和JRE
这个东西都很熟悉吧,使用java时必须要了解,安装的东西。
- JDK,包含JRE,可以创建以及编译新程序,对应命令文件在bin文件下面,可以自行查看(javac,javadoc,jdb)。
- JRE,就是java所谓的运行环境,包含JVM,JAVA类库,JAVA命令和其他一些基础构建,区别就是他不可以创建新的程序,因为它没有对应的命令。
- 没有绝对,比如使用jsp部署的Web程序,便需要JDK,它会将jsp转换为Java servlet,需要JDK来编译servlet。
JAVA
指针应该都知道,就算不知道也应该听过吧。对于java而言,是不提供指针直接访问内存。(想了解请自行查询)
java类是单继承,接口可多继承。
java自动管理内存,不需要手动释放无用内存。
JVM
-Xms:堆区内存初始内存分配的大小,通常为操作系统内存的1/64
-Xmx:堆区内存可被分配的最大上限,,通常为操作系统内存的1/4(其余参数可自行查看)
main
main:一个程序呢有多个类,但是只能有一个主类它就是包含main()方法的类。(这个都懂吧,友情提示一下,“Hello Word!”手敲千百遍,也不差这一边。扶我起来,我还能写。。)
字符型常量和字符串常量方法
这是java编程思想的图,强烈建议去看一下这本书:
构造器Constructor
都知道构造器是啥,也得知道它对应的英文,别一看到英文两眼一黑,懵逼了,这啥玩意。。
对于构造器来说是不可以重写滴,但是可以重载,经常会看到这种情况,一个类中有多个构造函数。
重载和重写
这里简单说一下重载和重写
重载:发生地点(同一个类),条件(方法名必须相同),参数(类型、个数、顺序不同),以及返回值、访问修饰符不同。
重写:发生地点(父子类),条件(方法名、参数列表相同),以及返回值、抛出异常范围、访问修饰符小于等于父类。private 修饰符除外,因为其子类不可访问,为类私有。
待续,后期继续更新