1. Java简介

来源:互联网 发布:php 爬虫代码 编辑:程序博客网 时间:2024/06/06 06:41

1. 历史

Java是由Sun Microsystems公司1995年5月推出的Java面向对象程序设计语言和
    Java平台的总称。James Gosling和同事们共同研发,并在1995年正式推出。 

Java分为三个体系:

  •     JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  •     JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  •     JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。


    2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经
        更名以取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为
        Java ME。

2. 主要特点

Java语言是:编译型和解释型相结合的语言    --其中解释型语言中有shell脚本
什么是解释型,编译型?
        编译型,需要编译器编译,生成执行文件(编译器和平台有关,执行文件可移植性查)
        解释型,边编译边解释执行。(比如shell脚本,效率低,不用编译,移植性好)

3. Java程序的运行过程

    源程序(.java)--->编译器--->字节码文件(.class文件,和平台无关)--->
    JVM(类加载---代码校验---解释成对应平台的机器代码)
   
    ----JVM:可以识别字节码,把字节码文件生成对应平台的机器代码,所以Java移植性好
    ----JRE: 包括JVM和Java的核心库
    ----JDK:包括编译器、JRE
    JDK > JRE  > JVM

    字节码是类加载,JVM(java虚拟机)的功能
   

4. 安装环境

    需要设置系统环境变量:
        1. 在系统变量里.path里添加 bin 路径
        2. 在系统变量里添加classpath,内容是 .;---lib
查看是否成功:
    cmd命令输入javac能找到命令

cmd使用方法:
    cmd命令:
    d: : --是更改操作盘,默认的是c盘,然后就能cd命令来进入某个目录了,
    dir: --显示当前目录下的内容
注意:文件目录结构用 \ ,而不是linux命令下的 /

hello程序:
       
       
注意:
    如果声明的是public,则函数的名字和类的名字要相同
    生成的.class文件的名字和类的名字相同,跟文件名无关

当在命令行上运行eclipse中生成的bin文件夹下的包时,不能把包的名字当成路径名 当路径来使用,要把 包.类 当成一个整体。

5. 类和对象 

    对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:
        颜色、名字、品种;行为有:摇尾巴、叫、吃等。
        ---万事万物皆对象
        ---对象有属性和行为
            属性:对象的静态特征
            行为:对象具有的功能或描述成对属性的操作
    类:类是一个模板,它描述一类对象的行为状态
        忽略细节,抽取共性
        概念:有相同属性和行为的一组对象的抽象和总结
    类和对象的关系
        类是模板,对象是实例
        (声明一个类,相当于定义了一个新的数据类型)(类是自定义数据类型)
        类和对象的关系:数据类型和变量的关系
    方法:
        方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
    实例变量:
        每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

6. 类的声明

访问修饰符 class 类名 {
    属性;
    方法;
    构造器;
}

对象的创建:
   类名  对象名= new 类名
   对象名.属性
   对象名.方法

7.构造器 

   对象创建一定会调用构造器
   若程序中没有写构造器,调用系统默认的
   若程序中有构造器,系统不再提供默认的
    
   构造器:方法名和类名相同,没有返回值,参数可以有多种写法

8.面向对象三大特征

    封装、继承和多态

9. 包 

    目的:解决名字冲突
    包名:域名倒置写.部门名.项目名   小写字母
        package com.hqyj.research.javademo;
    导入包:
        import com.hqyj.research.javademo.*
        import com.hqyj.research.javademo.Mobile

10. 一个程序中的解释

    Project----Generate JavaDoc

    typedef struct {
        char brand[10];
        float price
        }Mobile;
    Mobile b1;//栈
    b1.price = 1000;
    Mobile * b2 = (Mobile *)malloc(sizeof(Mobile)); //堆
    b2->price = 1000;
    等价于Java中
    Mobile b2 = new Mobie();

11. 附一张图

       

0 0