简单了解:

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. paper-list

    1.yolo-v1,yolo-v2,yolo-v3 2.ssd,focal loss,dssd 3.fast-rcnn,faster-rcnn,r-fcn,Light-Head R-CNN,R-FCN ...

  2. OpenCV自带dnn的Example研究(5)— segmentation

    这个博客系列,简单来说,今天我们就是要研究 https://docs.opencv.org/master/examples.html下的 6个文件,看看在最新的OpenCV中,它们是如何发挥作用的. ...

  3. 三、Object-C内存管理

    一.管理范围:任何继承了NSObject的对象,对基本数据类型无效 原理: 1.每个对象都有个引用计数器,是一个与之关联的整数 2.使用了 3.给对象发送一条retain消息,可以使对计数器+1 4. ...

  4. React后台管理系统-添加商品组件

    引入了CategorySelector 二级联动组件.FileUploader图片上传组件和RichEditor富文本编辑组件 import React from 'react'; import MU ...

  5. CSU1216: 异或最大值(01Trie树)

    Description 给定一些数,求这些数中两个数的异或值最大的那个值 Input 多组数据.第一行为数字个数n,1 <= n <= 10 ^ 5.接下来n行每行一个32位有符号非负整数 ...

  6. MySQL超大表如何提高count速度

    经常用到count统计记录数,表又超级大,这时候sql执行很慢,就是走索引,也是很慢的,怎么办呢? 1.这个时候我们就要想为什么这么慢:根本原因是访问的数据量太大,就算只计算记录数也是很慢的. 2.如 ...

  7. Navicat Premium Mac 12 破解

    破解地址:https://blog.csdn.net/xhd731568849/article/details/79751188 亲测有效

  8. 【c学习-4】

    //递归函数,调用自身 #include<stdio.h> int fibFunc(int n) { || n==){ ; }else{ )+fibFunc(n-); } } int ma ...

  9. POJ:1258-Agri-Net

    Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65322 Accepted: 27029 Descriptio ...

  10. 18式优雅你的Python

    本文来自读者梁云同学的投稿,公众号:Python与算法之美 一,优雅你的Jupyter 1,更改Jupyter Notebook初始工作路径 平凡方法: 在cmd中输入jupyter notebook ...