栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基础回顾5

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基础回顾5

JVM、JRE、JDK
  1. JVM表示java虚拟机,Java程序需要运行在虚拟机上,不同平台有自己的虚拟机,所以java可以实现跨平台运行;
  2. JRE表示java运行环境,包括java虚拟机和一些核心类库。(核心类库主要是java.lang包:java程序运行时不可缺少的一些系统类);
    如果需要运行一个开发好的java程序,安装JRE就可以了。
  3. JDK表示java开发工具,也包括JRE,其中包括编译工具,打包工具等。
跨平台性的原理

跨平台性:一次编译可在多个系统平台上运行
原理:java程序是通过java虚拟机在系统平台上运行的,只要该系统安装了相应的虚拟机就可以运行该程序。

java语言的特点
  1. 简单易学;
  2. 面向对象;
  3. 平台无关性(JVM);
  4. 支持多线程;
  5. 健壮性;
  6. 安全性(强类型语言、异常机制、垃圾回收);
  7. 支持网络编程并且很方便。
字节码

字节码:java源代码经过虚拟机编译后生成的.class文件。
采用字节码的好处:解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言的可移植性问题。总结起来就是高效、可移植
补充:java程序的执行过程
java源代码---->编译器---->JVM可执行的字节码文件---->JVM---->JVM中解释器---->机器可执行的二进制机码---->程序运行

java和c++的区别
  1. 都是面向对象的语言;
  2. java不提供指针来直接访问内存,程序内存更加安全;
  3. java支持单继承,c++支持多继承(但java的接口可以实现多继承);
  4. java有内存管理机制,不需要手动释放无用内存。
java编码

采用Unicode编码,为每个字符都制定了唯一的数值,所以在任何语言、平台、程序都可放心使用。

java注释
  1. 单行注释 //
  2. 多行注释 /* * /
  3. 文档注释 /** * /

补充:多行注释和文档注释不能嵌套使用

this

this是自身的一个对象,可以理解为:指向对象本身的一个指针。
用法:

  1. 普通的直接引用,指向对象本身的一个指针;
  2. 形参与成员名字重名,用this做区分;
  3. 引用本类的构造函数。
super

super是指向自己直接父类的一个指针。
用法:
4. 普通的直接引用,指向当前父类的一个指针;
5. 子类中成员变量和方法与父类中的变量和方法重名,用super做区分;
6. 引用父类的构造函数。
super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句);
this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。

this和super的区别
  1. super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数;
  2. this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名);
  3. super()和this()类似,区别是,super()在子类中调用父类的构造方法,this()在本类内调用本类的构造方法;
  4. super()和this()均需放在构造方法内第一行;
  5. this和super不能同时出现在一个构造函数里面;
  6. this()和super()都指的是对象,所以,均不可以在static环境中使用;
  7. 从本质上讲,this是一个指向本对象的指针, 然而super是一个Java关键字。
static static的特点:
  1. 被static修饰的变量或者方法是独立于该类的任何象,不属于任何一个实例对象,而是被一个类所有的实例对象共享;
  2. 在该类被第一次加载的时候,就会去加载被static修饰的部分;
  3. static变量值在类加载的时候分配空间,以后创建类对象的时候不会重新分配;
  4. 被static修饰的变量或者方法是优先于对象存在的,也就是说当一个类加载完毕之后,即便没有创建对象,也可以去访问。
static的意义:
  1. 创建独立于具体对象的域变量或者方法。就可以在没有创建对象的情况下,也能使用属性和调用方法;
  2. 形成静态代码块以优化程序性能(static块只会在类加载的时候执行一次。因此,很多时候会将一些只需要进行一次的初始化操作都放在static代码块中进行。)
static的应用场景:
  1. 修饰成员变量;
  2. 修饰成员方法;
  3. 静态代码块;
  4. 修饰类【只能修饰内部类也就是静态内部类】;
  5. 静态导包
static注意事项:
  1. 静态只能访问静态;
  2. 非静态既可以访问非静态的,也可以访问静态的。
多态的补充

多态性:父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。
在Java中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口 (实现接口并覆盖接口中同一方法)

方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)

一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002652.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号