北大慕课Java程序设计【一】Java语言与面向对象的程序设计

目录

一、Java的历史与发展

二、Java 语言的特点

1. Java 语言的几个基本特点:

2. Java 是 C++--(Java 在 C++ 基础上开发的)

三、Java 的运行机制

1、Java 三种核心机制

2、Java 程序的编译与运行

3、Java 虚拟机 JVM

4、Java 运行环境 JRE

5、Java 的自动垃圾回收

6、Java 开发工具包 JDK

四、面向对象的程序设计

1. 对象的概念

2. 类的概念

3. 面向对象语言的特点

4. 面向对象设计思想的要点


一、Java的历史与发展

→ Java 之父:James Gosling

→ Java 的出现:Sun (Stanford University Network)

→ Java 使早期网页能够运行程序:Internet 发展中的第二次飞跃

→ Java 编译器:1995年,Sun 公司发布第一版Java语言编译器 jdk 1.0

→ Java 的版本:SE 标准版(桌面),EE 企业版(网络),ME 微型版(手机)

→ 2010年 Oracle 并购 Sun;2014年发布 JDK 1.8 (java 8)

二、Java 语言的特点

Java 首先是一种编程语言。

1. Java 语言的几个基本特点:

→ 简单易学(比 C++ 易学)

平台无关性(跨平台性,与 C++ 不同)

纯面向对象(不会把方法定义在对象之外)

→ 安全稳定(进行安全检查,不容出出现内存溢出等情况)

→ 支持多线程

丰富的库提供了大量的类以满足网络化、多线程、面向对象系统的需要(语言包、实用程序包、图形用户界面、网络包 I/O包)

→ 可以开发各种各样的应用(网络应用、可视化应用、数据库、网络、多媒体)

2. Java 是 C++--(Java 在 C++ 基础上开发的)

无直接指针操作(底层实现:引用、对象,类似于指针)

自动内存管理(系统自动回收,不用 delete)

→ 数据类型长度固定(跨平台的要求,和 C++ 的 int 不一样)

→ 不用包含头文件

→ 不支持宏定义

→ 不包含结构体和联合体

不用多重继承(C++ 一个类继承很多类,Java 有接口)

→ 无类外全局变量(纯面向对象)

→ 没有 goto 语句

三、Java 的运行机制

1、Java 三种核心机制

Java 虚拟机(JVM)

→ 代码安全检测(Code Security)

垃圾回收机制(Garbage Collection)

2、Java 程序的编译与运行

→ 源程序 src.java(我们写的代码)

→ 字节码 src.class (用 javac 命令编译后,得到 bytecode,与平台无关)

→ 运行 java 命令(虚拟机执行字节码 JVM for Unix... 等等)

3、Java 虚拟机 JVM

Java 虚拟机:在一台计算机上有软件或硬件模拟的计算机

→ Java 虚拟机规范定义了:指令集、寄存器集、类文件结构等等

4、Java 运行环境 JRE

Java 运行环境 JRE = JVM + API(Lib)

→ JRE 运行程序时的三项主要功能:加载代码 + 校验代码(Java是安全的)+ 执行代码

5、Java 的自动垃圾回收

C/C++ 无自动垃圾回收:程序员负责回收无用内存;Java 语言有自动垃圾回收:

→ 系统级线程跟踪存储空间的分配情况

→ 在JVM空闲时 检查并释放那些钱可以被释放的存储器空间

→ 程序员无须也无法精确和干预该回收过程

6、Java 开发工具包 JDK

Java 开发工具包:JDK = JRE + Tools;JRE = JVM + API

→ Java 工具:javac 编译器;java 执行器;javadoc 文档生成器;jar 打包器;jdb 调试器

四、面向对象的程序设计

1. 对象的概念

任何事物都是对象,对象有两方面的含义:

→ 在现实世界中,对象是客观世界中的一个实体

→ 在计算机世界中,对象是一个可标志的存储区域

2. 类的概念

→ 类 class 是具有共同属性和行为的对象集合

属性:变量(字段 field)+ 行为:函数(方法 method)

类与对象的关系:类是对象的抽象(模板);对象是类的实例

Person p = new Person()

→ 类和对象有时统称对象,后者一般明确地叫“对象实例”

3. 面向对象语言的特点

封装性:模块化(将属性和行为封装在类中 程序中定义很多类)+ 信息隐蔽(用户只通过受保护的接口访问某个类)

继承性:父类和子类之间共享数据和方法,更好地进行抽象和分类、增强代码的重用率、提高可维护性

多态性:不同的对象收到同一个方法,产生不同的效果,实现的细节则由接受对象自行决定

4. 面向对象设计思想的要点

→ 认为客观世界由各种对象组成

→ 程序的分析和设计要围绕以下几点来进行:

        ① 有哪些类,每个类有哪些属性、方法

        ② 类之间的关系(继承、关联等)

        ③ 对象之间发送消息(调用方法)

// 父类
class Person {
    private int age;
    String name;

    public int getAge() {
        return age;
    }

    public void setAge(int a) {
        age = a;
    }

    void sayHello() {
        System.out.println(name);
    }
}

// 子类(继承:扩展而不是修改)
class Student extends Person {
    double score;
    String school;

    void meetTeacher() {
        System.out.println("Hello Teacher!");
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值