对于一个一直努力学习前端并一心只想成为一名前端开发工程师的小菜鸟来说,在大四这年因为不得已的原因需要重新学习另外一门语言,大名鼎鼎且声名远扬的JAVA。
学习java的第一天最明显的感觉是不同于javascript的弱类型特性,java对于类型的要求十分严谨。另一个强烈的感受是——学好程序始祖C。
广义的java可分为三个部分,javaSE主要定义了java语言的语法标准,数据类型等;javaEE主要用于javaWeb领域的开发运用(网站开发,本人主要学习的部分);javaSE主要用于手机等移动设备的开发(未接触)。
javaEE在大范围内可分为三层,
(1)表示层:HTML,CSS,JavaScript
(2)中间层(数据交互):JSP,Servlet,JSTL,JavaBean
(3)数据层:JDBC(数据库操作)
第一部分 javaSE
1、学习任何一门语言首先要了解的是该语言的主要数据结构以及数据类型,java中的数据类型主要分为基本数据类型和应用(可简单理解为对象),基本数据类型包括:byte(1B),short(2B),int(4B) ,long(8B),float(4B),double(8B),char(2B),boolean。
2、引用数据类型(对象)
java是一门面向对象的语言,面向对象本人的理解是将事物封装成对象,对象由静态的属性和动态的方法组成,任何的对象都有特定的属性和方法,将这些属性和方法封装起来就组成了一个对象。在java中把任何事物都看成一个对象,都从属性和方法两个方面来认识一个对象。
3、类
类是一系列对象的总称,比如,人是一个类,张三是一个对象,李四也是一个对象,同时张三和李四都是人,所以人这个类就是张三和李四这两个对象的统称。(在不断学习过程中本人发现,很多时候不必刻意去理解类和对象的概念,对于初学者来说关于类和对象能大概举出一些实际的例子就可以了,在不断深入学习的过程中会对此有更深的理解,有的东西就是在不断进步过程中自然而然的就懂了)。
4、类中的主要概念
成员:成员变量,成员方法;成员属于对象,成员变量是对象的属性,成员方法是对象的方法;
局部变量:局部变量是成员方法体中的变量
静态变量、静态方法:也叫做类变量和类方法,属于类本身,而不属于对象,使用static关键字修饰,静态变量和静态方法可以直接通过类名.变量名,类名.方法名访问,而不需要创建对象,成员变量和成员方法依托于对象而存在,要想使用成员变量和成员方必须先创建对象。
5、重要概念:
重载(overload)、重写(覆盖overwrite)、重构:
(1)重载(overload):重载是针对于同一个类任意两个方法而言,两个方法的方法名相同,只要方法的参数个数或类型不同即可;
(2)重写(overwrite):重载是针对子类和父类两个类中的方法而言,子类需要拓展父类的功能重写父类的成员方法,在在子类中保留父类的成员方法名称,重写方法体的实现内容,更改成员方法的存储权限(注意权限只能大于或等于父类的权限,权限修饰符主要包括:private,protect,public)或者修改成员方法的返回值类型;
(3)重构(override):重构也是针对子类和父类两个类中的方法而言,子类和父类的成员方法返回值、方法名称、参数类型以及个数完全相同,唯一不同的是方法体的实现
注意:(1)区别这三个概念时首先应该从大范围内把握,三个概念的使用前提并不完全相同,很多人会弄混这三个概念,面试也会常常考到,到时只要清楚他们的使用前提(overload同一个类,overwrite和override是子类和父类中的概念)就能很好的区分。
(2)在后续java学习过程中也是如此,很多概念以及知识首先要从宏观上把握,它的基本概念,基本原理以及基本使用场景,了解一个概念首先要明白它在大范围内是一个什么,比如抽象类和接口,它们在大范围内都是一个类,是一种特殊的类,先明白这一点,然后再从微观上把握具体的细节,了解它特殊在哪里,如此更能加深记忆。