Java基础-1简单了解与原理
简单了解:
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
}
}
最新文章
- 微信webview
- Windows Store App 音频和视频
- 在ThoughtWorks工作这几年我学到了什么?
- Asp.net NVelocity 模版引擎
- javascript继承(八)-封装
- 关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision
- 请使用GameBench.jar 文件启动 GameBench服务
- for循环绑定事件,闭包思想!
- 开源GIS简介
- JAVA_eclipse 保留Java文件时自动格式化代码和优化Import
- stm32 smartcard调试--不用st8024
- Oracle 中包的应用
- 【游戏开发】Excel表格批量转换成CSV的小工具
- php加密字符串超时不可解密
- python3+Robot Framework+PyCharm环境部署及执行脚本
- 【转】idea 2018注册码(激活码)永久性的
- 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.
- AFNetWorking上传JSON串
- js和jquery实现图片无缝轮播的不同写法
- EXCEL2010如何显示工作表中单元格内的公式