博客地址:https://blog.csdn.net/houjiyu...
本系列文章将主要针对JAVA一些基础知识点进行讲解,为平时概括所结,无论是刚接触JAVA开发菜鸟仍是业界资深人士,都但愿对广大同行带来一些帮助。如有问题请及时留言或加QQ:243042162。java
寄语:
海纳百川,有容乃大;壁立千仞,无欲则刚。
咱们在安装java环境时,常常会有疑问,jdk里的jre与外面jre有什么区别?函数
jdk-jre(专用jre)与公共jre的主要区别在于jdk-jre多了一个server的vm执行选项。
简言之:若是电脑运行一个java程序的时候,会自动调用client vm;可是若是开发java程序时使用的就是server vm,注意: 平时所说的“java自动更新”根本不是所安装的JDK版本的更新,它指的是这个公用JRE运行时环境的更新,这个更新为的是让你的计算机可以使用最新版本正常的运行一些网站或则Web应用等等当中的java程序。
1.标识符: 指类名(包括接口、枚举、抽象类)、方法名、变量、常量名、包名等能够自定义的字符组合。工具
1)标识符不能是关键字或true、false、null。
2)标识符能够包含字母、数字0-9下划线(_)或美圆符号($)。
3)标识符的第一个字符必须是字母、下划线(_)或美圆符号($)。
4)标识符是区别大小写的,而且没有规定最大长度。
2.关键字 开发工具
访问控制 | private | protected | public | ||||
类,方法和变量修饰符 | abstract | class | extends | final | implements | interface | native |
new | static | strictfp | synchronized | transient | volatile | ||
程序控制 | break | continue | return | do | while | if | else |
for | instanceof | switch | case | default | |||
错误处理 | try | catch | throw | throws | finally | ||
包相关 | import | package | |||||
基本类型 | boolean | byte | char | double | float | int | long |
short | null | true | false | ||||
变量引用 | super | this | void | ||||
保留字 | goto | const |
1.用来修饰成员变量,将其变为类的成员,从而实现全部对象对于该成员的共享;
2.用来修饰成员方法,将其变为类方法,能够直接使用“类名.方法名”的方式调用,经常使用于工具类;
3.静态块用法,将多个类成员放在一块儿初始化,使得程序更加规整,其中理解对象的初始化过程很是关键;
4.静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”便可调用类方法,更加方便。
代码示例网站
class TestSon { public TestSon(String msg) { System.out.println(msg); } } public class StaticTest { TestSon son1 = new TestSon("son1成员变量初始化"); static TestSon son2; static { son2 = new TestSon("static成员son2成员变量初始化"); son4 = new TestSon("static成员son4成员变量初始化"); } public StaticTest(String msg) { System.out.println(msg); } TestSon son3 = new TestSon("son3成员变量初始化"); static TestSon son4; public static void funStatic() { System.out.println("static修饰的funStatic方法"); } public static void main(String[] args) { StaticTest.funStatic(); System.out.println("****************"); StaticTest p1 = new StaticTest("p1初始化"); } }
输出this
static成员son2成员变量初始化 static成员son4成员变量初始化 static修饰的funStatic方法 **************** son1成员变量初始化 son3成员变量初始化 p1初始化
方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不一样表现。
重写 Overriding 是父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。
参数 | 抽象类 | 接口 |
---|---|---|
默认的方法实现 | 它能够有默认的方法实现 | 接口彻底是抽象的。它根本不存在方法的实现 |
实现 | 子类使用extends关键字来继承抽象类。若是子类不是抽象类的话,它须要提供抽象类中全部声明的方法的实现。 | 子类使用关键字implements来实现接口。它须要提供接口中全部声明的方法的实现 |
构造器 | 抽象类能够有构造器 | 接口不能有构造器 |
与正常Java类的区别 | 除了你不能实例化抽象类以外,它和普通Java类没有任何区别 | 接口是彻底不一样的类型 |
访问修饰符 | 抽象方法能够有public、protected和default这些修饰符 | 接口方法默认修饰符是public。你不可使用其它修饰符。 |
main方法 | 抽象方法能够有main方法而且咱们能够运行它 | 接口没有main方法,所以咱们不能运行它。 |
多继承 | 抽象方法能够继承一个类和实现多个接口 | 接口只能够继承一个或多个其它接口 |
速度 | 它比接口速度要快 | 接口是稍微有点慢的,由于它须要时间去寻找在类中实现的方法。 |
添加新方法 | 若是你往抽象类中添加新的方法,你能够给它提供默认的实现。所以你不须要改变你如今的代码。 | 若是你往接口中添加方法,那么你必须改变实现该接口的类。 |