• 【软考2】Java语言的基本知识汇总


    导读:现在对于java这一模块,还没有相应的项目经验,只是通过各种类型的资料,对java有一个面上的了解。现在,对此做一个罗列总结,在以后的学习过程中,逐步完善!


    一、语言的发展

    1.1,机器语言

    在第一代计算机语言期间,软件工程师只能用机器语言来编写程序。人类语言和计算机编程语言存在着巨大的鸿沟。

    1.2,汇编语言

    汇编语言,将计算机语言映射为人类可以理解的助记符,如ADD(加法指令),SUB(减法指令)等。在这一时期(第二代计算机语言),人类语言和计算机编程语言的鸿沟在缩小,但是,由于汇编语言的抽象层次太低,软件工程师在编写程序的过程中,仍然需要考虑很多的机器 细节。

    1.3,高级语言

    高级语言(第三代计算机语言)屏蔽了机器的细节,在汇编的基础上,提高了抽象的层次,程序中可以采用具有一定含义的数据命名和容易理解的执行语句,这使得在编写程序时可以联想到程序所描述的具体事物。如:C、C++、java、.NET等。

    1.4,发展趋势

    面向对象的思想在程序设计编写中占有很重要的地位,未来的语言发展,也许不仅仅是一种语言的标准,而是更为全面的面向对象的语言。而未来的语言,它的使用对象将可能不再是专业的程序员,也许一个普通人也能根据现实对象,自己编码实现。(猜测)


    二、java语言体系

    首先,任何一个语言,都必定有其数据类型、结构形式(循环、分支等),基础语法标准。在这里,我个人总结对于我自己来说,java语言的特性。

    2.1,java语言

    Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。它包括:J2SE(Java2 Platform Standard Edition,java平台标准版),J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),J2ME(Java 2 Platform Micro Edition,java平台微型版)。

    注:所以,目前所学的J2SE只是java语言的一个分支而已。

    2.2,运行机制

    2.2,1,Java虚拟机(java virtual machine)

    可以理解成一个以字节码为机器指令的CPU;不同的运行平台,有不同的虚拟机;虚拟机制屏蔽了底层运行平台的差别,实现了”一次编译,随处运行”。java之所以能够跨平台,就是因为java特殊的虚拟机机制。

    2.2.2,垃圾收集机制(Garbage collection)

    在java语言中,对象的创建和放置都是在存储器堆栈上面进行的。当一个对象没有任何引用的时候,Java的自动垃圾收集机制就发挥作用,自动删除这个对象所占用的空间,释放存储器以避免存储器泄漏。


    三、关键字

    3.1,this关键字

    只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。

    this的基本用法:

    第一、通过this调用另一个构造方法,这个仅仅在类的构造方法中使用。
    第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。
    第三、在函数中,需要引用该函所属类的当前对象时候,直接用this。

    3.2,super关键字

    super关键和this作用类似,是被屏蔽的成员变量或者成员方法或变为可见,或者说用来引用被屏蔽的成员变量和成员成员方法。不过super是用在子类中,目的是访问直接父类中被屏蔽的成员。

    super的基本用法:

    第一、在子类构造方法中要调用父类的构造方法,用“super(参数列表)”的方式调用,参数不是必须的。“super(参数列表)”这条语句只能用在子类构造方法体中的第一行。
    第二、当子类方法中的局部变量或者子类的成员变量与父类成员变量同名时,也就是子类局部变量覆盖父类成员变量时,用“super.成员变量名”来引用父类成员变量。当然,如果父类的成员变量没有被覆盖,也可以用“super.成员变量名”来引用父类成员变量,不过这是不必要的。
    第三、当子类的成员方法覆盖了父类的成员方法时,也就是子类和父类有完全相同的方法定义(但方法体可以不同),此时,用“super.方法名(参数列表)”的方式访问父类的方法。

    3.3,this和super的区别

    相同点:

    1,this和super均须放在构造方法内第一行

    2,this和super都是指向一个对象,所以,不可以再static环境中使用

    不同点:

    1,调用范围不同:this在同一类调用其它方法;super从子类中调用父类的构造方法

    2,this和super不能同时出现在一个构造函数里面

    3,性质不同:this是一个指向本对象的指针,super是一个关键字
     
     

    四、学习感受

    1,语言都是一样的,从最开始的VB学起,到现在,很多的基础都是一样的。现在,却陷入了这样一个境地:脑袋里装了很多东西,但理不出一条思路,总结能力急需提升。

    2,这几天状态有点不好,额,然后这篇博客。。。。。。。。。


  • 相关阅读:
    IKAnalyzer
    stanford corenlp的TokensRegex
    Linux网络编程-tcp缓存设置
    Java NIO(2):缓冲区基础
    Java NIO(1):迟迟登场的NIO
    git的笔记和使用中的一些技巧的总结
    vagrant 系列 博客
    flutter创建swift kotlin项目
    react eject 命令失败
    react native react-native-vector-icons/Ionicons 出现 Unrecognized font family的错误
  • 原文地址:https://www.cnblogs.com/hhx626/p/6010407.html
Copyright © 2020-2023  润新知