最近要辅导一下小师弟,顺带也给自己复习一边基本功吧!
由于最近博主也在找实习QAQ!在复习的途中,深深感觉到这些看似简单的基础理论,大公司面试几乎都在抠细节,就是这些平常我们不在乎的细节,基本功很重要,写下来提醒一下自己。
给小师弟上的第一堂课。
package learn.lesson1;
/**
* 第一节课-周一晚上10-13节
* @author Ant
* 课程内容:
* 1. * 了解JAVA基本知识 :IDE, JDK, JRE, JVM, 标识符和关键字,基本数据类型,对象,抽象类与接口 , 静态方法<br>
* 2. ** 三大特性:封装、继承、多态
* 3. ** 重载与覆盖(重写)
* 4. *** 运算符与常见控制语句 (if,else,while,for,do while, switch, break, continue)
* 5. ** 作用域的问题(变量方法的作用域 public protected private) / Call by Value / reference 问题
* 6. * 异常处理 throws / throw
* 7. * 类型转换
* 8. ** 数组和常见集合
* 9. *** 运算符与常见控制语句 (if,else,while,for,do while, switch, break, continue)
* 10. *** 输入输出流(字节流,字符流)
* 11. *** 创建多线程的三种方法(Thread, Runnable, Callable)
*/
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
其中课程内容第一点,我用自己的能理解的话总结如下:
IDE (Integrated Development Environment 【集成开发环境】)
如:eclipse, vs studio等JDK (Java Development Kit 【JAVA开发工具包】)
开发者开发使用的工具箱,里面包含了基础的jar包和编译程序(javac)等。JRE (Java Runtime Environment 【JAVA程序运行环境】)
Java程序编译后形成字节码文件(.class文件),计算机是没办法识别字节码文件,所以需要JRE里的JVM(Java虚拟机)去帮忙翻译成计算机指令。JVM (Java Virtual Machine 【JAVA虚拟机】)
把一个.class文件装入JVM有三个步骤:装载,链接,初始化。
装载:查找和导入.class文件。
链接:检查装入的.class文件的正确性,然后JVM为变量分配内存。
初始化:把符号引用变成直接引用。标识符和关键字
标识符:Java中变量,常量,函数等的名字统称为标识符
标识符的命名规则:由数字、字母、下划线(_)、美元符号($)组成;
注意三点:1) 首字母不能是数字;2) Java关键字不能当作标识符 3) Java区分大小写。
关键字:对于Java的编译器有特殊意义的名字叫关键字。如:class, Boolean, int, byte 等基本数据类型
如int, double, float, Boolean等。对象(灌输万物皆对象的思想)
参考例子:车,人,狗等。抽象类与接口
抽象类:不能用new方法进行实例化的类,用abstract修饰的类叫抽象类。
接口:接口的实现一定要实现接口里所有的方法
参考:代码GeometricObject.java 与 Circle.java , Rectangle.java封装,继承,多态
封装:万物都能封装成个对象。
继承:由于封装特性,由于封装,使得有共同特征的一类事物的所有描述信息都被归于一类之中, 有些事物有共性,但还存在区别,比如人类与学生。
多态:能站在抽象的角度去描述一件事, 而针对这件抽象的事, 对于每个个体(具体)又能找到其自身的行为去执行, 这就是多态。如:人类与老师和学生。
老师:老师授课 , 学生:学生做作业
人类:人在做事静态方法
static关键字,可以直接通过类调用的方法。字符流,字节流
字节流可以读取或写入二进制数据;字符流是为字符的输入和输出处理提供方便,采用统一的编码标准。
字节流的顶层父类有:InputStream和OutputStream 。具体其他常用的IO流。查看书籍或网上。线程的生命周期
新建—可运行—阻塞—等待—计时等待—终止。
下一篇将讲一下重载与覆盖(或者叫重写)的理解与实例
加油!!!!