What is Java
目录
1. 基础知识
1.1 Java 语言有哪些特点?
-
简单易学;
-
面向对象(封装,继承,多态);
-
平台无关性( Java 虚拟机(JVM)实现平台无关性);
-
支持多线程;
-
安全稳定;
1.2 Java相对于C++的区别
-
无直接指针操作
-
自动内存管理(Java 有自动内存管理垃圾回收机制(GC),不需要程序员手动释放无用内存。)
-
数据类型长度固定(跨平台的基本要求)
-
不用头文件
-
不包含结构和联合(直接使用类)
-
不支持宏
-
不用多重继承(Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承)
-
无 GOTO 语句
1.3 Java的3种核心机制
- Java 虚拟机(Java Virtual Machine)
- 代码安全性检测(Code Security)
- 垃圾回收机制(Garbage collection)
1.3.1 JVM
Java程序的运行与编译:

- 定义:在一台计算机上由软件或硬件模拟的计算机
- JVM读取并处理经过编译的字节码class文件
- JVM规范定义了:

1.3.2 Java运行环境 JRE
JRE = JVM + API(Lib)
API:一系列的库
JRE运行程序时的三项主要功能:

1.3.3 Java 自动垃圾回收技术
在 C/C++ 中由程序员负责回收无用内存
Java自动垃圾回收

2. 面向对象
2.1 对象(object)
一个对象通常可由对象名、属性值、操作3部分组成
对象具有两方面的含义:
| 在现实世界中 | 在计算机世界中 |
|---|---|
| 客观世界中的一个实体 | 一个可标识的存储区域 |
- 每个对象都有自己的属性值,表示该对象的状态。
- 对象中的属性只能通过该对象所提供的操作来存取或修改。
- 操作规定了对象的行为,表示对象所能提供的服务。
2.2 类(class)
类是具有共同属性和相同操作的对象的集合
一个类中的每个对象都是这个类的一个实例
对象 p:
Person p = new Person()
类 Person:
class Person{
int age;
String name;
void sayHello(){
···
}
}
类与对象的关系
- 类是对象的抽象(模板)
- 对象是类的实例
注:类和对象有时都统称“对象”;
为了明确起见,后者称为“对象实例”
2.3 面向对象的三大特征
♦ 封装
♦ 继承
♦ 多态
2.3.1 封装
目的是为了使对象的使用者和生产者分离,使对象的定义和现实分开。
- 使程序更模块化:将属性和行为封装在类中,程序定义很多类。
- 信息隐蔽:将类的细节部分隐藏起来,用户只通过受保护的接口访问某个类。
class Person{
private int age;//封装年龄
public int getAge(){//用户只能通过公开的接口访问
return age;
}
public void setAge(int a){
age=a;
}
String name;
void sayHello(){
···
}
}
点击 查看其他封装示例
public class Student {
private int id;//id属性私有化
private String name;//name属性私有化
//获取id的方法
public int getId() {
return id;
}
//设置id的方法
public void setId(int id) {
this.id = id;
}
//获取name的方法
public String getName() {
return name;
}
//设置name的方法
public void setName(String name) {
this.name = name;
}
}
2.3.2 继承
子类可以继承其父类(或祖先类)的所有属性和操作,同时子类中还可以定义自己特有的属性和操作
父类:
class Person{
int age;
String name;
void sayHello(){…}
}
子类:
class Student extends Person{
String school;
double score;
void meetTeacher(){…}
}
继承的好处:
- 更好地进行抽象与分类
- 增强代码的重用率
- 提高可维护性
2.3.3 多态
- 不同的对象收到同一个消息(调用方法)可产生完全不同的效果
- 实现的细节则由接收对象自行决定
foo( Person p ){//普通人打招呼方式
p.sayHello();
}
foo( new Student() );//学生打招呼方式
foo( new Teacher() );//老师打招呼方式
2.3.4 补充
类之间只有三种关系
- 公有单继承
- 子对象
- 私有单继承
附:博客园MarkDown技巧
- 设置字体颜色,大小
<font color = #999AAA size = 1>设置字体颜色</font>
[TOC](文章目录)
-
居中
<div align = center>居中</div>
永远喜欢你!

浙公网安备 33010602011771号