简单了解:

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。因为Java没有结构,数组和串都是对象,所以不需要指针,其次Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼。

Java设计成支持在网络上应用,它是分布式语言,编译程序生成字节码(byte-code),而不是通常的机器码。是多线索语言,它提供支持多线索的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。所以java具有分布性、编译和解释、稳健性、安全性、可移植性、高性能、多线程、多动态等特点。

工作原理:

编辑软件在Java源文件中定义不同的类,通过调用类中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用

面对对象:

Java是一个面向对象的语言。在一个面向对象的系统中类是数据和操作数据的方法的集合。数据和方法一起描述对象的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。

Java三大特征:

封装:是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。

优点:1. 良好的封装能够减少耦合。2. 类内部的结构可以自由修改。3. 可以对成员变量进行更精确的控制。4. 隐藏信息,实现细节。

继承:继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。需要注意的是 Java 不支持多继承,但支持多重继承。也就是说一个类不能同时继承多个类,但是可以多重继承。继承可以使用 extends 和 implements 这两个关键字来实现继承,通过super关键字来实现对父类成员的访问,用来引用当前对象的父类,通过this关键字指向自己的引用。

多态:多态是同一个行为具有多个不同表现形式或形态的能力。然而存在的三个必要条件则是:继承、重写、父类引用指向子类对象

优点:1.消除类型之间的耦合关系。2. 可替换性。3. 可扩充性。4. 接口性。5. 灵活性。6. 简化性

基础语法:

说语法前先简答了解下编写Java程序时,应注意以下几点:

  • 大小写敏感、
  • 主方法入口:所有的Java 程序由public static void main(String []args)方法开始执行
  • 所有的类来说,类名的首字母应该大写,如果类名由若干单词组成,那么每个单词的首字母应该大写(约定成俗)。
  • 所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写(约定成俗)。

两类修饰符:

  • 访问控制修饰符 : default, public , protected, private
  • 非访问控制修饰符 : final, abstract, static, synchronized

变量:

  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量

关键字:

java和其他语言一样,也有保留的关键字,此部分内容较多,且容易查询,在此不做赘述。

注释:

类似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。单行注释则在需要注释行前面加上 // ,多行注释则在需要开始注释的行前加  /* 在结束位置加上 */

接口:

在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

示例:

打印输出Hello Word

public class HelloWorld {

  /* 第一个Java程序 * 它将打印字符串 Hello World */

  public static void main(String []args) {

    System.out.println("Hello World"); // 打印 Hello World

  }

}

最新文章

  1. 微信webview
  2. Windows Store App 音频和视频
  3. 在ThoughtWorks工作这几年我学到了什么?
  4. Asp.net NVelocity 模版引擎
  5. javascript继承(八)-封装
  6. 关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision
  7. 请使用GameBench.jar 文件启动 GameBench服务
  8. for循环绑定事件,闭包思想!
  9. 开源GIS简介
  10. JAVA_eclipse 保留Java文件时自动格式化代码和优化Import
  11. stm32 smartcard调试--不用st8024
  12. Oracle 中包的应用
  13. 【游戏开发】Excel表格批量转换成CSV的小工具
  14. php加密字符串超时不可解密
  15. python3+Robot Framework+PyCharm环境部署及执行脚本
  16. 【转】idea 2018注册码(激活码)永久性的
  17. Unable to complete the scan for annotations for web application [/wrs] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies.
  18. AFNetWorking上传JSON串
  19. js和jquery实现图片无缝轮播的不同写法
  20. EXCEL2010如何显示工作表中单元格内的公式

热门文章

  1. IOS 加载更多数据中
  2. 委托代码func和Action的基本用法
  3. 2017.11.27 用Servlet在JSP中加入验证码
  4. jQuery序列化表单为JSON对象
  5. 【洛谷P1948】[USACO08JAN]电话线
  6. python main
  7. JavaScript 十行原生代码实现复制内容到剪贴板
  8. Python 初始—(迭代器和生成器)
  9. 基于mybatis设计简单信息管理系统1
  10. html5的canvas绘制线条,moveTo和lineTo详解