简单了解:

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

  }

}

Java基础-1简单了解与原理的更多相关文章

  1. java基础解析系列(七)---ThreadLocal原理分析

    java基础解析系列(七)---ThreadLocal原理分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...

  2. java基础解析系列(六)---注解原理及使用

    java基础解析系列(六)---注解原理及使用 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer缓存及 ...

  3. java基础-数组的折半查找原理

    java基础-数组的折半查找原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让你写一个数组的查找功能,需求如下:在一个数组中,找一个元素,是否存在于数组中, 如果存在就返回 ...

  4. Java基础(四) StringBuffer、StringBuilder原理浅析

    StringBuilder与StringBuffer作用就是用来处理字符串,但String类本身也具备很多方法可以用来处理字符串,那么为什么还要引入这两个类呢? 关于String的讲解请看Java基础 ...

  5. java基础--动态代理实现与原理详细分析

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式                     ...

  6. Java基础篇——JVM之GC原理(干货满满)

    原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10697554.html ,多多支持哈! 一.什么是GC? GC是垃圾收集的意思,内存处理是 ...

  7. 【JAVA - 基础】之反射的原理与应用

    一.反射简介 反射机制指的是程序在运行时能够获取自身的信息.在JAVA中,只要给定类的名字,那么就可以通过反射机制来获取类的所有信息. 1.反射的应用 JDBC编程中的:Class.forName(& ...

  8. JAVA基础——最简单的多重循环程序

    Java 循环语句之多重循环 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行一次,内层循环要执行一圈. 如下所示: ...

  9. java基础:简单实现线程池

    前段时间自己研究了下线程池的实现原理,通过一些源码对比,发现其实核心的东西不难,于是抽丝剥茧,决定自己实现一个简单线程池,当自已实现了出一个线程池后.发现原来那么高大上的东西也可以这么简单. 先上原理 ...

随机推荐

  1. selenium添加cookie切换到不同环境

    背景:网站中需要切环境到预发布,在用谷歌浏览器可以使用工具,但是在selenium启动时,是不会带任何插件,向开发了解下,切换环境本质是添加cookie值,那么这个就简单了 1.使用selenium中 ...

  2. 广搜最短路(最短时间到达目的地),POJ(3669)

    题目链接:http://poj.org/problem?id=3669 解题报告: 1.流星坠落的点,四周和自己本身都被毁灭,不断更新每个点被毁灭的时候的最短时间. 2.搜索终点是,到达某个点,这个不 ...

  3. 安卓装tensorflow

    1.https://blog.csdn.net/masa_fish/article/details/54096996 tensorflow有很多中安装方式,但你要想和android结合,就只能采用源码 ...

  4. sql的where条件转换成mongdb筛选条件

    解析字符串 filterModel1 and filterModel2 and (filterModel3 or filterModel4) 1.转换成mongo的筛选条件 /// <summa ...

  5. Multigrid for Poisson’s Equation

    泊松方程如何用多重网格求解 来源:佐治亚理工学院 教授:Prof. Richard Vuduc 主页:http://vuduc.org/index.php 教授内容:http://vuduc.org/ ...

  6. git移除某文件夹的版本控制

    thinkphp框架,Apps/Runtime下目录移出版本控制. git rm -r -n --cached  */Runtime/\*      //-n:加上这个参数,执行命令时,是不会删除任何 ...

  7. python main

    python中的main函数,总体来说就是,main比较适合写test测试,有点类似于java中的testcase,就是程序单独运行时是运行main的,但是当被调用时就不会运行main了.具体可以参考 ...

  8. poj_1995_Raising Modulo Numbers

    Description People are different. Some secretly read magazines full of interesting girls' pictures, ...

  9. 连接MYSQL 错误代码2003

    问题是服务里面mysql没有启动或者mysql服务丢失 解决办法: 开始->运行->cmd,进到mysql安装的bin目录(以我的为例,我的安装在D盘)D:\MySQL\bin>my ...

  10. Session的生命同期

    一.什么是Session,怎么用 Session是存放用户与web服务器之间的会话,即服务器为浏览器开辟的存储空间. 由于浏览器与服务器之间的会话是无状态(无状态的意思是会话之间无关联性,无法识别该用 ...