Java面向对象编程-第2章学习笔记

时间:2022-09-20 09:56:02

第2章 第一个Java应用

一、创建Java源程序
1、Doll.java


public class Doll {
    /**福娃的名字**/
    private String name;

    /**构造方法**/
    public Doll(String name){
        this.name=name;
    }

    /**说话**/
    public void speak(){
        System.out.println("My name is "+name);
    }

}

2、AppMain.java


public class AppMain {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Doll FuWa=new Doll("fuwa");
        Doll BeiBei=new Doll("beibei");
        FuWa.speak();
        BeiBei.speak();
    }
}

3、源程序文件结构:一个Java应用包含一个或多个Java源程序,每个源程序文件可以包含多个类或接口的定义,但是最多只能有一个类或接口是修饰为public的,而且该源文件也必须以这个public类型的类的名字命名。
4、包的作用:在本例中没有使用包,在一个Java源文件中最多只能有一个package语句,而且package语句必须放在第一行,把类放到特定的包中。包通常采用小写,其命名规则实际上采用了Internet上URL命名规范的反转形式,如com.ts.game.wow包可以看出为ts公司game项目中的wow包。包主要有三个作用:(1)能够区分名字相同的类,不同的包中的类的名字是可以相同的。(2)有助于进行访问控制(通过访问控制修饰符)。(3)有助于划分和组织Java应用中的不同类,如客户端和服务器端的类可以分别放置于不同的包中。
JDK提供的Java基本包,主要包括:(1)java.lang:包括线程类、异常类、系统类、整数类和字符串类等。一般即便不通过import语句,该包也默认被引入。(2)java.awt:抽象窗口工具箱,包含了用于构建GUI界面的类和绘图类。(3)java.io:输入/输出包,包含各种输入流类和输出流类。(4)java.util:提供包括日期类和集合类在内的实用工具类包。(5)java.net:支持TCP/IP网络协议,包括Socket类及URL相关类。
5、方法的声明:Java中的方法都属于某一个类,因此方法的声明必须位于类的定义中。

返回值类型 方法名 (参数列表){
    方法主体
}

6、程序入口main方法的声明:每一个Java应用程序都是从main()方法开始运行的,作为程序入口的main()方法必须同时符合一下4个条件:(1)访问限制:public;(2)静态方法:static;(3)参数限制:String[] args;(4)返回类型:void。
7、命名规范:(1)类名和接口名:首字母大写,如果多个单词组成则每个单词首字母均大写,如FirstTool。(2)方法名和变量名:首字母小写,如果多个单词则除了第一个单词外的其余单词首字母大写,如myFirstTool。(3)包名:全小写。(4)常量名:全大写,如果多个单词则以下划线“_”隔开。
二、JDK
JDK为Java Development Kit(Java开发工具包)的缩写,它为Java应用程序提供基本的开发和运行环境。J2SE(Java 2 Standard Edition)指JDK1.2以上的版本。JDK主要包括:(1)Java虚拟机:负责解析和执行Java程序,虚拟机可以运行在各种操作系统上;(2)JDK类库:提供了最基础的各种Java类,包括前述的lang\io\awt\net等;(3)开发工具:javac.exe(Java Compiler编译器)、java.exe(运行工具)、javadoc.exe和jar.exe等。
三、Java虚拟机的运行时数据区
Java虚拟机(Java Virtual Machine,JVM)是由JDK提供的,其任务为执行Java程序(即实现java.exe功能)。JVM封装了底层操作系统的差异,不管在哪个平台,都按以下步骤来运行程序:(1)把.class文件中的二进制数据加载到内存中;(2)对类的二进制数据进行验证;(3)解析并执行指令。
JVM提供了程序运行时环境,运行时环境最重要的资源即是运行时数据区,它是操作系统为JVM进程分配的内存区域,JVM管辖这片区域,JVM把该内存区域又分为:堆区(存放对象)、方法区(类的静态变量和方法信息)、Java栈区。