![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 70
seven-soft
十几年工作经验,软件破解、软件反编译、网络抓包;精通c、c++、java语言,熟悉eclipse、Microsoft Visual Studio、XCODE 开发环境,精通wince和Android开发。精通嵌入式CPU软件开发。
展开
-
Java入门教程-1.2Java虚拟机(JVM)以及跨平台原理
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的。那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文原创 2016-05-24 09:08:19 · 1527 阅读 · 0 评论 -
Java入门教程-1.3Java的主要就业方向
Java的就业前景如何,看培训班就知道了,以Java培训为主的达内,曾传出即将上市的消息。根据IDC的统计,在所有软件开发类人才的需求中,对JAVA工程师的需求曾达到全部需求量的50%以上。而且,JAVA工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,年薪10万是很正常的一个工资。一些重点院校的优秀毕业生能够进入国内一流的IT企业(百度、腾讯、阿里巴巴等),年薪一般在20万左原创 2016-05-24 09:10:05 · 406 阅读 · 0 评论 -
java入门教程-1.4Java的不同版本:J2SE、J2EE、J2ME的区别
1998年12月,SUN公司发布了Java 1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用1.2之前的版本,所以通常所说的Java都是指Java2。Java 有三个版本,分别为 J2SE、J2EE和J2ME,以下是详细介绍。J2SE(Java 2 Platform Standard Edition) 标准版J2SE是Java的标准版,主要用于开发客户端(桌面应原创 2016-05-24 09:11:38 · 607 阅读 · 0 评论 -
java入门教程-1.5Java开发环境的搭建(JDK和Eclipse的安装)
要进行Java开发,首先要安装JDK(Java Development Kit,Java开发工具箱)。JDK 是一系列工具的集合,这些工具是编译Java源码、运行Java程序所必需的,例如JVM、基础类库、编译器、打包工具等。不论是什么样的 Java 应用服务器,都是内置了某个版本的 JDK,因此掌握 JDK 是学好 Java 的第一步。JDK所提供的部分工具:java原创 2016-05-24 09:13:18 · 4527 阅读 · 0 评论 -
java入门教程-1.6第一个Java程序示例——Hello World!
跟随世界潮流,第一个Java程序输出“Hell World!”。通过Eclipse运行程序启动Eclipse,在菜单中选择“文件 --> 新建 --> Java项目”,弹出对话框:图1 新建项目填入项目名称,点击“完成”,创建项目成功,可以看到在 E:\java\workspace 目录下多出了一个Demo文件夹。在菜单中选择“文件 --> 新建 -->原创 2016-05-24 09:15:08 · 3418 阅读 · 0 评论 -
java入门教程-1.7Java类和对象的概念
Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念。Java中的类可以看做C语言中结构体的升级版。结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可以不一样;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如:#include int main(){ // 定义结构体 Student struct Stud原创 2016-05-24 09:16:21 · 574 阅读 · 0 评论 -
java入门教程-1.8Java类库及其组织结构(Java API)
Java 官方为开发者提供了很多功能强大的类,这些类被分别放在各个包中,随JDK一起发布,称为Java类库或Java API。API(Application Programming Interface, 应用程序编程接口)是一个通用概念。例如我编写了一个类,可以获取计算机的各种硬件信息,它很强大很稳定,如果你的项目也需要这样一个功能,那么你就无需再自己编写代码,将我的类拿来直接用就原创 2016-05-24 09:18:12 · 2291 阅读 · 0 评论 -
java入门教程-1.9Java import以及Java类的搜索路径
如果你希望使用Java包中的类,就必须先使用import语句导入。import语句与C语言中的 #include 有些类似,语法为: import package1[.package2…].classname;package 为包名,classname 为类名。例如:import java.util.Date; // 导入 java.util 包下的 Date原创 2016-05-24 09:19:48 · 470 阅读 · 0 评论 -
java入门教程-2.2 Java数据类型转换(自动转换和强制转换)
数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。自动数据类型转换自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下: 低--------------------------------------------->高转载 2016-05-24 09:24:04 · 323 阅读 · 0 评论 -
java入门教程-2.3Java运算符
Java中的运算符和C/C++相差无几。数学运算符数学运算,结果为一个数值。见下表:运算符说明举例+加法1 + 2-减法4 - 3.4*乘法7 * 1.5/除法3.5 / 7%取余7 % 2++自增3++--自减原创 2016-05-24 09:25:35 · 323 阅读 · 0 评论 -
java入门教程-2.4Java流程控制
Java流程控制的语法与 C/C++ 类似,也有 if...else、while、do...while、for、switch...case等,这里不再讲述具体语法,仅举例说明。输出九九乘法表(右上三角):复制纯文本新窗口public class Demo { public static void main(String[] args){原创 2016-05-24 09:26:58 · 302 阅读 · 0 评论 -
java入门教程-2.5Java数组的定义和使用
如果希望保存一组有相同类型的数据,可以使用数组。数组的定义和内存分配Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。例如:int demoArra原创 2016-05-24 09:28:41 · 478 阅读 · 0 评论 -
java入门教程-2.6 Java字符串(String)
从表面上看,字符串就是双引号之间的数据,例如“微学苑”、“http://www.weixueyuan.net”等。在Java中,可以使用下面的方法定义字符串: String stringName = "string content";例如:复制纯文本新窗口String url = "http://www.weixueyuan.net";String w原创 2016-05-24 09:30:00 · 382 阅读 · 0 评论 -
java入门教程-2.7 Java StringBuffer与StringBuider
String 的值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低,而且耗费大量内存空间。StringBuffer类和String类一样,也用来表示字符串,但是StringBuffer的内部实现方式和String不同,在进行字符串处理时,不生成新的对象,在内存使用上要优于String。StringBuffer 默认分配16字节长度的缓冲区,当字符串超过该原创 2016-05-24 09:31:09 · 331 阅读 · 0 评论 -
java入门教程-2.8强调一下编程风格8
讲完了Java的基础语法,大家就可以编写简单的程序代码了,这里有必要强调一下编程风格。代码风格虽然不影响程序的运行,但对程序的可读性却非常重要。自己编写的程序要让别人看懂,首先在排版方面要非常注意。其实每个人的编程风格、每个软件开发公司的编程风格都不一样。一个人编写的程序代码,就应该能让别人看懂,甚至是过了很长时间,自己也要看的懂,否则这个程序就成了一个死程序。编程风格是指原创 2016-05-24 09:32:27 · 300 阅读 · 0 评论 -
java入门教程-3.1Java类的定义及其实例化
如果你不了解类和对象的概念,请猛击这里:Java类和对象的概念类必须先定义才能使用。类是创建对象的模板,创建对象也叫类的实例化。下面通过一个简单的例子来理解Java中类的定义:public class Dog{ String name; int age; void bark(){ // 汪汪叫 System.out.println原创 2016-05-24 11:15:49 · 434 阅读 · 0 评论 -
java入门教程-3.2Java访问修饰符(访问控制符)
Java 通过修饰符来控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如:public class className { // body of class}private boolean myFlag;static final double weeks = 9.5;protected static final int BOXWIDTH = 42;public s原创 2016-05-24 11:17:39 · 297 阅读 · 0 评论 -
java入门教程-3.3Java变量的作用域
在Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。类级变量又称全局级变量或静态变量,需要使用static关键字修饰,你可以与 C/C++ 中的 static 变量对比学习。类级变量在类定义后就已经存在,占用内存空间,可以通过类名来访问,不需要实例化。对象实例级变量就是成员变量,实例化后才会分配内存空间,才能访问。方法级变量就是在方法内部定义的变量,就是原创 2016-05-24 11:19:20 · 230 阅读 · 0 评论 -
java入门教程-3.4Java this关键字详解
this 关键字用来表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性。例如:public class Demo{ public int x = 10; public int y = 15; public void sum(){ // 通过 this 点取成员变量 int z = this.x + this原创 2016-05-25 08:42:37 · 221 阅读 · 0 评论 -
java入门教程-3.5Java方法重载
在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading)。参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。重载是面向对象的一个基本特性。下面看一个详细的实例。public class Demo{ // 一个普通的方法,不带参数原创 2016-05-25 08:44:13 · 227 阅读 · 0 评论 -
java入门教程-3.6Java类的基本运行顺序
我们以下面的类来说明一个基本的 Java 类的运行顺序:复制纯文本新窗口public class Demo{ private String name; private int age; public Demo(){ name = "微学苑"; age = 3; } public static void mai原创 2016-05-25 08:45:28 · 313 阅读 · 0 评论 -
java入门教程-3.7Java包装类、拆箱和装箱详解
虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性、没有方法可调用。 沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单、有效地进行常规数据处理。这种借助于非面向对象技术的做法有时也会带来不便,比如引用类型数据均继承了 Object 类的特性,要转换为 String 类型(经常有这种需要)时只要简单原创 2016-05-25 08:46:27 · 223 阅读 · 0 评论 -
java入门教程-3.8再谈Java包
在Java中,为了组织代码的方便,可以将功能相似的类放到一个文件夹内,这个文件夹,就叫做包。包不但可以包含类,还可以包含接口和其他的包。目录以"\"来表示层级关系,例如 E:\Java\workspace\Demo\bin\p1\p2\Test.java。包以"."来表示层级关系,例如 p1.p2.Test 表示的目录为 \p1\p2\Test.class。如何实现原创 2016-05-25 08:47:27 · 247 阅读 · 0 评论 -
java入门教程-3.9Java源文件的声明规则
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则:一个源文件中只能有一个public类。一个源文件可以有多个非public类。源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。如果一个类定义在某个包中,那么package语句应该在源文件的首行。如原创 2016-05-25 08:48:32 · 278 阅读 · 0 评论 -
Java入门教程-4.1Java继承的概念与实现
继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。继承使用 extends 关键字。例如我们已经定义了一个类 People:class People{ String name; int age; i原创 2016-05-25 08:50:22 · 216 阅读 · 0 评论 -
java入门教程-4.2Java super关键字
super 关键字与 this 类似,this 用来表示当前类的实例,super 用来表示父类。super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法。super 也可以用在子类的子类中,Java 能自动向上层类追溯。父类行为被调用,就好象该行为是本类的行为一样,而且调用行为不必发生在父类中,它能自动向上层类追溯。super 关键字的功能:调用父类原创 2016-05-25 08:51:25 · 211 阅读 · 0 评论 -
java入门教程-4.3Java继承中方法的覆盖和重载
在类继承中,子类可以修改从父类继承来的方法,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的名称、返回值类型、参数列表。如果在新类中定义一个方法,其名称、返回值类型和参数列表正好与父类中的相同,那么,新方法被称做覆盖旧方法。参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。被覆盖的方法在子类中只能通过super调用原创 2016-05-25 08:52:21 · 227 阅读 · 0 评论 -
java入门教程-4.4Java多态和动态绑定
在Java中,父类的变量可以引用父类的实例,也可以引用子类的实例。请读者先看一段代码:public class Demo { public static void main(String[] args){ Animal obj = new Animal(); obj.cry(); obj = new Cat(); o原创 2016-05-25 08:53:27 · 255 阅读 · 0 评论 -
java入门教程-4.5Java instanceof 运算符
多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 。 C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符。instanceof 运算符用来判断一个变量所引用的对象的实际类型,注意是它引用的对象的类型,不是变量的类型。请看下面的代码:public final class Demo{ publi原创 2016-05-25 08:54:50 · 200 阅读 · 0 评论 -
java入门教程-4.6Java多态对象的类型转换
这里所说的对象类型转换,是指存在继承关系的对象,不是任意类型的对象。当对不存在继承关系的对象进行强制类型转换时,java 运行时将抛出 java.lang.ClassCastException 异常。在继承链中,我们将子类向父类转换称为“向上转型”,将父类向子类转换称为“向下转型”。很多时候,我们会将变量定义为父类的类型,却引用子类的对象,这个过程就是向上转型。程序运行时通过动态绑原创 2016-05-25 08:55:42 · 206 阅读 · 0 评论 -
java入门教程-4.7Java static关键字以及Java静态变量和静态方法
static 修饰符能够与变量、方法一起使用,表示是“静态”的。静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法。静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。请看下面的例子:public class Demo { static int i原创 2016-05-25 08:56:44 · 322 阅读 · 0 评论 -
java入门教程-4.8Java final关键字:阻止继承和多态
在 Java 中,声明类、变量和方法时,可使用关键字 final 来修饰。final 所修饰的数据具有“终态”的特征,表示“最终的”意思。具体规定如下:final 修饰的类不能被继承。final 修饰的方法不能被子类重写。final 修饰的变量(成员变量或局部变量)即成为常量,只能赋值一次。final 修饰的成员变量必须在声明的同时赋值,如果在声明的时候没有赋值,那么只有 一次赋值的机会,原创 2016-05-25 08:57:46 · 256 阅读 · 0 评论 -
java入门教程-4.9Java Object类
Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来。定义Java类时如果没有显示的指明父类,那么就默认继承了 Object 类。例如:public class Demo{ // ...}实际上是下面代码的简写形式:public class Demo extends Object{ /原创 2016-05-25 08:58:48 · 231 阅读 · 0 评论 -
Java入门教程-5.1Java内部类及其实例化
在 Java 中,允许在一个类(或方法、语句块)的内部定义另一个类,称为内部类(Inner Class),有时也称为嵌套类(Nested Class)。内部类和外层封装它的类之间存在逻辑上的所属关系,一般只用在定义它的类或语句块之内,实现一些没有通用意义的功能逻辑,在外部引用它时必须给出完整的名称。使用内部类的主要原因有:内部类可以访问外部类中的数据,包括私有的数据。内原创 2016-05-25 09:00:12 · 291 阅读 · 0 评论 -
java入门教程-5.2Java静态内部类、匿名内部类、成员式内部类和局部内部类
内部类可以是静态(static)的,可以使用 public、protected 和 private 访问控制符,而外部类只能使用 public,或者默认。成员式内部类在外部类内部直接定义(不在方法内部或代码块内部)的类就是成员式内部类,它可以直接使用外部类的所有变量和方法,即使是 private 的。外部类要想访问内部类的成员变量和方法,则需要通过内部类的对象来获取。请看下面的原创 2016-05-25 09:01:19 · 201 阅读 · 0 评论 -
java入门教程-5.3Java抽象类的概念和使用
在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象。甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现。这种只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有“{}”。包含一个或多个抽象方法的类也必须被声原创 2016-05-25 09:02:28 · 255 阅读 · 0 评论 -
java入门教程-5.4Java接口(interface)的概念及使用
在抽象类中,可以包含一个或多个抽象方法;但在接口(interface)中,所有的方法必须都是抽象的,不能有方法体,它比抽象类更加“抽象”。接口使用 interface 关键字来声明,可以看做是一种特殊的抽象类,可以指定一个类必须做什么,而不是规定它如何去做。现实中也有很多接口的实例,比如说串口电脑硬盘,Serial ATA委员会指定了Serial ATA 2.0规范,这种规范就是接原创 2016-05-25 09:03:27 · 302 阅读 · 0 评论 -
java入门教程-5.5Java接口和抽象类的区别
类是对象的模板,抽象类和接口可以看做是具体的类的模板。由于从某种角度讲,接口是一种特殊的抽象类,它们的渊源颇深,有很大的相似之处,所以在选择使用谁的问题上很容易迷糊。我们首先分析它们具有的相同点。都代表类树形结构的抽象层。在使用引用变量时,尽量使用类结构的抽象层,使方法的定义和实现分离,这样做对于代码有松散耦合的好处。都不能被实例化。都能包含抽象方法。抽象方法用来描述系统提供哪些功原创 2016-05-25 09:04:24 · 865 阅读 · 0 评论 -
java入门教程-5.6Java泛型详解,通俗易懂只需5分钟
我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数、小数和字符串,例如:x = 10、y = 10x = 12.88、y = 129.65x = "东京180度"、y = "北纬210度"针对不同的数据类型,除了借助方法重载,还可以借助自动装箱和向上转型。我们知原创 2016-05-26 05:28:49 · 454 阅读 · 0 评论 -
java入门教程-5.7java泛型通配符和类型参数的范围
本节先讲解如何限制类型参数的范围,再讲解通配符(?)。类型参数的范围在泛型中,如果不对类型参数加以限制,它就可以接受任意的数据类型,只要它是被定义过的。但是,很多时候我们只需要一部分数据类型就够了,用户传递其他数据类型可能会引起错误。例如,编写一个泛型函数用于返回不同类型数组(Integer 数组、Double 数组等)中的最大值:public T> T getMax(原创 2016-05-26 05:33:52 · 372 阅读 · 0 评论