Java基础(一)

一、先来说说 Java 的组成

1、java 运行在 Java 虚拟机上(JVM),暂时先知道这一点。具体对 JVM 的学习之后会单独说,且 JVM 复杂难懂(但很重要)初学者不要过分纠结。

2、java 中涉及的两种文件,".java"、".class",他们的关系如下。

3、java 语言的特性,简单、面向对象、健壮、安全、分布式、可移植、解释型、多线程、高性能、GC。这些词也不要过分解读,会让初学者陷入其中,只要混个眼熟就好(学习的很多时候一些基础的概念是非常难以理解的,因为虽然是基础但更接近于道。这时就需要放下,在以后学习的过程中会慢慢体会到其中的含义。这些概念只是别人对java理解的抽象,在长期的使用理解过程中我们也会产生自己的理解)。

4、java 词汇,这里就需要重点理解和记忆了。

main:所有的 Java 程序由 public static void main(String []args) 方法开始执行。(web 项目经常看不到 main 方法,那是因为我们使用的web容器提供了main方法)

标识符:标识符就是"起名字",无论是类名、方法名、变量名,只要是名字就是 ”标识符“。

修饰符:修饰标识符的,就是修饰符。其实是对标识符的一种限制。比如: 

public String book="";              //你是一个人
public static String book="";       //你是一个 男 人
public static final String book=""; //你是一个 好 男 人
访问控制修饰符 : default, public , protected, private。这几个可以作用在 类、方法、变量上。
非访问控制修饰符 : final(方法、变量、内部类), static(方法、变量、代码块、内部类), synchronized(方法、代码块),abstract(类)。

修饰符加的越多,限制就越多。

关键字:不全部写了,补充几个不常见的。strictfp、transient、volatile、instanceof、assert。 这几个都是比较生僻的,不知道的话可能在某天看代码的时候忽然遇到而看不懂代码。volatile 修饰符,volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。

运算符:

1、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。

2、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算

二、说说 Java 的代码组成

类:接口、抽象类、类、内部类(多说几句内部类:可以把它当做类的属性来看待,可以用 static、final 来修饰。内部类可以使用所在类的 private 资源。这是内部类的主要作用)

一个源文件中只能有一个public类,一个源文件可以有多个非public类。

方法:静态方法,构造方法(每个类必须有)

代码块:方法代码块、成员代码块、静态成员代码块。

变量:

类变量(静态成员变量)静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。

成员变量,成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

局部变量(局部变量不能被 static 来修饰,因为 static 是共享的,局部变量是线程私有,他们之间相互矛盾)。在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁

知道这些,后续理解 JVM 会有用。

三、数据类型

基本:char、byte、boolean、short、int、long、float、dubbo。

对应包装类 Character、Byte、Boolean、Short、Integer、Long、Float、Double。另外他们的范围不用去记。Integer.SIZE 就可以看到,还有MIN_VALUE、MAX_VALUE。

数组:String[] array;

集合:List Set Map

枚举:

四、实例、对象、类

五、封装、集成、多态

封装:就是把属相封装为一个对象。

继承:子类继承父类(接口时继承功能的一种拓展)

1、final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写:

2、 Java 不支持多继承,但支持多重继承。

多态:多态存在的三个必要条件。继承、重写、父类引用指向子类对象

 

思考:

1、学习 Java 的组成,可以换个角度考虑。试想一下我们如果要编写一门编程语言,需要考虑哪些方面呢。

2、学习这些词汇和关键字,是要和大家建立共同的语言。在学习任何一门科学知识的时候,都需要和其他人建立共同的语言,这样才知道别人说了什么,才能学习。

 

 

posted @ 2019-11-09 22:10  cuiqq  阅读(217)  评论(0编辑  收藏  举报