导读:现在对于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,这几天状态有点不好,额,然后这篇博客。。。。。。。。。

【软考2】Java语言的基本知识汇总的更多相关文章

  1. Java快速入门-03-小知识汇总篇(全)

    Java快速入门-03-小知识汇总篇(全) 前两篇介绍了JAVA入门的一系小知识,本篇介绍一些比较偏的,说不定什么时候会用到,有用记得 Mark 一下 快键键 常用快捷键(熟记) 快捷键 快捷键作用 ...

  2. JAVA面试题0 JAVA语言的基本知识

    JAVA语言的特点是什么? >面向对象:两个基本概念:类和对象:三大基本特性:封装.继承.多态: >健壮性:java吸收了C/C++的优点,但是去掉了它们影响健壮性的部分,例如指针和内存申 ...

  3. 软考计算机网络原理之IP计算问题汇总

    转自 http://www.cnblogs.com/jyh317/archive/2013/04/14/3018650.html 1.IP地址 分类: ①A类IP地址 ②B类IP地址 ③C类IP地址 ...

  4. Java多线程编程基础知识汇总

    多线程简介 多任务   现代操作系统(Windows.Linux.MacOS)都可以执行多任务,多任务就是同时运行多个任务.例如在我们的计算机上,一般都同时跑着多个程序,例如浏览器,视频播放器,音乐播 ...

  5. java语言基础1问题汇总

    1.一个Java类文件中真的只能有一个公有类吗? 程序实验: public class test1 { public static void main( String args[] ){ } publ ...

  6. 《JAVA语言》课问题汇总

    一.阅读相应教材,或者使用互联网搜索引擎,弄清楚反码.补码跟原码这几个概念,然后编写示例程序,对正数.负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示 ...

  7. Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

    JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...

  8. day01<计算机基础知识&Java语言基础>

    计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...

  9. Java复习(一)——Java语言概述、开发环境、基础知识

    设计模式:在各种应用系统中被大量应用,是设计的“常用套路” 作为Java WEB开发人员,需要掌握HTML/CSS/JS和数据库相关知识 常用的应用程序框架:Spring MVC,Spring Boo ...

随机推荐

  1. powershell 根据错误GUID查寻错误详情

    使用azurepowershell 部署模板时,碰到了下面类似的问题: The template deployment 'ExampleDeployment-' is not valid accord ...

  2. css布局:左边固定宽度,右边自适应宽度或右侧固定,左侧自适应三种方法

    方法一:浮动布局 这种方法我采用的是左边浮动,右边加上一个margin-left值,让他实现左边固定,右边自适应的布局效果 HTML Markup <div id="left" ...

  3. docker配置国内镜像

    1. 配置 root@ros-OptiPlex-3050:~# cat /etc/docker/daemon.json {    "graph": "/mnt/docke ...

  4. 推荐一个yaml文件转json文件的在线工具

    YAML的全称是YAML Ain't Markup Language,是一种简洁的非标记语言,以数据为中心,使用空白,缩进,和分行组织数据,从而使得表示更加简洁易读. YAML如今广泛应用于微服务开发 ...

  5. JAVA初级必须要搞懂的事项(希望对新手有所帮助)

    1        安装JDK=> (1,下载JDK,安装,一般目录为C:\Program Files\Java中:2,通过Dos命令测试JDK是否安装=>java –version命令查看 ...

  6. Android(java)学习笔记139:Android中Menu的使用(静态 和 动态)

    1. 使用xml定义Menu(静态方法) 菜单资源文件必须放在res/menu目录中.菜单资源文件必须使用<menu>标签作为根节点.除了<menu>标签外,还有另外两个标签用 ...

  7. Codeforces Round #272 (Div. 2)-A. Dreamoon and Stairs

    http://codeforces.com/contest/476/problem/A A. Dreamoon and Stairs time limit per test 1 second memo ...

  8. 【dp 贪心】bzoj4391: [Usaco2015 dec]High Card Low Card

    巧妙的贪心 Description Bessie the cow is a huge fan of card games, which is quite surprising, given her l ...

  9. Linux-nginx服务(三)

    nginx的安装 官方:http://nginx.org/packages/centos/7/x86_64/RPMS Fedora-EPEL:https://mirrors.aliyun.com/ep ...

  10. laravel中migrate的使用

    migration的使用是大大提高了我们开发的效率,数据库迁移大大的方便了我们.今天我就来给大家分享下migration 首先: laravel提供了我们一些基本的建表的规范: 表名:通常用名词+s的 ...