Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
——————————————————————————————————————————-

第三章中有使用面向对象的方式重构hello world功能的练习题,我们可以使用如下的方式实现,

[code lang=”java”]

package com.sunhaojie.learntest.fourth;

public class HelloWorldObject {

private String hello = "Hello world!";

public void sayHello() {
System.out.println(hello);
}
}

package com.sunhaojie.learntest.fourth;

public class HelloWorldMain {
public static void main(String[] args) {
HelloWorldObject object = null;
object = new HelloWorldObject();
object.sayHello();
}
}
[/code]

上面的代码我们应用了几个面向对象编程中的基础概念。
1、变量和赋值:
简单理解变量就是一个代号,赋值是把代号和具体物体关联的动作。
以比较火的“警匪游戏”为例子:
每局有4人参加,其中1个警察,1个杀手,2个平民,那么就有警察,杀手,平民1和平民2共4个代号,在没有分配具体角色的时候4个代号没有任何作用,经过抽签,4个人被赋予不同的代号,每个代号就和具体的人关联了。
上面代码中
HelloWorldObject object = null; //变量的定义
object = new HelloWorldObject(); //变量赋值
private String hello = “Hello world!”; //变量定义并赋值,private 是权限修饰符,后面会讲到。
当然计算机世界对于变量的定义和赋值是一个更复杂的过程,但是对于语言开发层面我们不必去深究怎么完成的。
Java是强类型语言,声明后Java的变量类型不可改变,比如上面的”object”变量是”HelloWorldObject “类型,只能赋值这个类的值,否则会报错。
2、变量的作用域
局部变量:方法中声明的变量,为局部变量,方法外的区域不能访问此变量。如:main方法中的object 对象
成员变量:对象中声明的变量,为成员变量,对象的所有方法都可以访问这个对象。如: HelloWorldObject 类中定义”hello ”
3、类:现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起,是数据和操作的组织形式。系统运行不直接使用类,使用根据类产生的具体对象。
比如:

[code lang=”java”]
public class HelloWorldObject {

private String hello = "Hello world!";

public void sayHello() {
System.out.println(hello);
}
}
[/code]

是输出”Hello world!”功能抽象逻辑的类型描述,
4、对象:对象是对客观事物的抽象,类是对对象的抽象。对象属于某一个类,根据类生成具体对象。

[code lang=”java”]

HelloWorldObject object = null;
object = new HelloWorldObject();

[/code]

定义HelloWorldObject 类的变量object,并创建一个对象赋值。

类和对象

这些概念是一些潜移默化的概念,后面的教程中不会再次涉及特意介绍这些内容,会经常用到,所以如果不是特别理解,后面可以慢慢揣摩。

****************************************************************************************************
****************************************************************************************************
*******                                     Java免费在线培训学员招募                                          *******
****************************************************************************************************
****************************************************************************************************