Java 语言概述 (2)
辽宁经济职业技术学院信息系
硕士、副教授 陈英
类示意图
派生自
广义的汽车
(Car)
奔驰
捷达
生成实例宝来
派生自 派生自
你的宝来
生成实例
我的宝来
Car 类的对象将拥有一
组确定的公共属性。类
中的每个对象都会有属
性值。
面向对象的概念
什么是对象?
任何事物都 可以被看作是对象。对象无处不在。你可
以认为 Car (车)是一个特定的对象类,泛指所有车,
这当然是比较抽象的,因为谁也找不到一辆真正意义
上的综合各种类型的通用车。
什么是类?
? 类用来表示一个个有共同属性的对象集合的规范。
? 类是模板或蓝图,从这里对象被真正地创建。
? 一个类就是一个规范,或者说是一个模板,表示为
一段程序,用于规范某个特定类型的对象将如何构成。
面向对象的概念
类是描述对象的“基本原型”,它定义一
种对象所能拥有的数据和能完成的操作,在面
向对象的程序设计中,类是程序的基本单元。
variables
methods
面向对象的概念
什么是子类:
? 子类是一个继承了父类全部属性而同时又包含着
其它特有属性的类。
? 当从类中构造一个对象时,即是创建了这个类的
一个实例。
? 类的一个实例( instanc)是该类中某个实际对象
的一种技术表示方法。 程序中的对象是类的一个实
例,是一个软件单元,它由一组结构化的数据和在
其上的一组操作构成
面向对象的概念
用什么定义类的对象?
? 类和其它一些语言中复杂的数据类型之间
根本的区别在于类中包含的不仅是数据。
可以在类中规定用户对该类的对象做何处
理。
? 类定义应该列出定义该类对象所需的所有
信息。
? 类的名称跟随在单词 class 之后,具体定
义的细节则出现在大括号中。
面向对象的概念
class Car {
private int color_number;
private int type_number;
private int speed;
void brake() { … }
void speedUp() {…};
void slowDown() { … }
}
计算机中
的对象的原型
现实生活中的对象
? 数据抽象类型
这些代码指定
了类的属性
这些代码指
定了类的方
法
所有代码应该
存储在一个名
为 Car.java 文
件中 。
面向对象的概念
java 程序语句
在 Car类的示例中已经看到,类中每种
方法的程序代码都显示在括号中,并且由
程序语句构成。每个程序语句由一个分号
结束。 java 程序语句在必要的时候可以
扩展到多行,每一条语句最后都由分号结
束,而不会被各行分开。
面向对象的概念
什么是封装?
? 封装把对象数据和行为结合在一个包中,并对
对象的使用者 隐藏数据的实现过程。其实现方
法是在定义类的时候把它们指定为 private 。
? 封装定义程序如何引用对象的数据,封装实际上
使用方法将类的数据隐藏起来,控制用户对类的
修改和访问数据的程度。
? 在 Car类中,实例变量 color_number,speed,
type _number都是封装的。这些变量只能通过为
该类定义的方法来访问。
面向对象的概念
封装的优点:
1) 保证类对象的安全性和完整性。
2) 由于把类的实现情况隐藏起来,只允许对类成员进行
有限的访问,所以程序员可以自由地更改类的内部,
不需要为使用该类的程序做什么变化而担心。
3) 只要一个类可供外部方法 调用的外部特点不变,程序
员就可以任意更改这个类的内部代码。
方
法
数
据
对象 A 对象 B
私有数
据
方法
公有数据
面向对象的概念
什么叫实例字段?
1) 一个对象中的数据叫做它的实例字段 。
( instance field)
2) 一个特定的对象是类的一个实例,它的实例字段
有其特定的值。
3) 所有这些值即是这个对象的当前状态( state) 。
什么叫方法?
1) 在一个对象中操作数据的函数和过程叫做它的方
法( method)。
2) 当把一个方法施加于一个对象时,这个状态可能
会改变。
面向对象的概念
封装的作用:
1) 使封装起作用的关键是绝对不允许方法直接访问
除了它实例字段之外的类中其它的实例字段。
2) 程序只能通过对象的方法来与对象数据发生作用。
3) 封装使对象实现了, 黑盒子, 特性,这是再利用
和可靠性的关键。
4) 一个类可以完全改变其存储数据的方式,但是只
要它继续使用同样的方法来操作数据,其他的对
象帽不会知道也没的必要知道这种改变。
面向对象的概念? 什么是继承?
1) 继承就是允许在已经存在类的基础上构建新的类 。
2) 继承是子类利用父类中定义的方法和变量,就像它们属于
子类本身一样 。
3) 同时可在子类中增添新的方法和字段以适应新的环境。
class Car
{ int color_number;
int door_number;
int speed;
push_break() { … }
add_oil() { … }
}
class Trash_Car
extends Car
{ double amount;
fill_trash() { … }
}
面向对象的概念
什么是方法的重载 (多态性 - polymorphism)?
1) 在同一个类中至少有两个方法用同一个名字,但
有不同的参数。
2) 多态性 含义是能够呈现出多种不同的形式或者形
态。
类
void show(int int_num)
void show(double double_num)
void show(nit nit_ um,float float_um)
123
1.23
123,1.23
Java 的程序结构
Java程序总是由一些类构成。
在每个程序中可以有多个但至少有一个
类。
一般把每个类的程序代码放入一个单独
的文件,文件名必须与其中定义的类的
名称相同。
Java源文件必须使用扩展名,java 。
Java 的程序结构
编辑存盘:主类名 (含有 main方法 )和文件 名要 一致
HelloWorldApp.java
编译程序, javac HelloWorld.java
运行程序, java HelloWorld
运行结果, Hello World!
public class HelloWorld
{
public static void main(String[] args) //程序入口 main()的方法
{
System.out.println("Hello World!"); //输出一字符串
}
}
? Java应用程序
Java 的程序结构
1,声明一个类, public class HelloWorld
类名的第一个字母要大写
2,public static void main(String[] args)是类体中的
一个方法。一个 Java应用程序必须且只有一个
main方法,这个类称为应用程序的主类。
3.关键字 public指出它可以被全程访问。
4.关键字 static保证即使该类没有任何对象存在,它
也可以被访问。
5.关键字 void指出它不返回值。
6,System.out.println是向屏幕输出,相当于 C中的
printf();
Java 的程序结构
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorldApplet extends Applet{
public String s;
public void init(){ //applet的初始化方法
s = new String("Hello World");
}
public void paint(Graphics g){
g.drawString(s,10,25);
}
}编辑存盘,主类名 (extends Applet)和文件名一致
编译代码, javac HelloWorldApplet.java
编写 HTML文件, HelloWorldApplet.html
1.4 你的第一个 Java程序
?运行 applet程序,
1,用 appleteviwer运行,在命令行中输入命令
HelloWorld.html
2,在浏览器下运行,如用 IE,NetScape 等浏览器,打开
HTML文件,即会装载类文件并运行。
? 运行结果,
<html>
<applet code="HelloWorlde.class" width=200 height=80>
</applet>
</html>
Java 的程序结构
Java Applet 小应用程序
1) 能够在网页上运行的 Java程序称作 Applet(小程序)。
它是通过把类名镶嵌到 HTML文档中,通过浏览器或
Appletviewer 加载执行的。
2) 它不需要 main()方法,但必须有一个类扩展了 Applet
类,即它是 Applet类的子类。称该类为这个 Java
Applet 的主类。
3) Java Applet 的主类必须是 public的。
4) Applet类是系统提供的类。每一个 applet都是
java.applet.Applet的子类,用 extends继承。
5) import语句用来引用 java.applet包中的 Applet类。
Java 的程序结构
1,public void init()方法是 Applet运行的起点。
2.当 applet被浏览器运行时,paint语句自动执行。
3.在 applet中与屏幕输出有关的操作通过 Graphics
对象来实现。
4.一个 Java源文件内最多只能有一个 public 类,称为
主类,且必须和文件名同名。
常见的 Java 误解
Java是 HTML的一个扩展。
Java是非常容易学习的编程语言。
Java提供了一个易于编程的环境。
Java会变成通用于任何平台的统一语言。
Java只不过是另外一种编程语言。
Java是解释型的,所以在具体平台上它对于应用程序
来说太慢了。
所有的 Java程序都运行在网页中。
Java Applet 会带来安全危险。
Java Script 是 Java 的简易版本。
Java会带来客户机 /服务器计算模型的革命。
Java会基于组件的计算模型真正起飞。
Java简介
Java是一种编程工具
1) Java是一种很好的编程语言。目前 Java语言的
结构不会做任何改变。
2) Java代码清晰合理、简明流畅,并提供了丰富
的类库。改进 Java主要是对其库的重大变化,
其结果是产生一个有用的、强大的、远远优于
早期版本的 Java编程平台。
3) 使用 Java语言的继承性、封装性、多态性等面
向对象的属性,从而降低程序的复杂性,实现
代码的复用,提高开发速度。
辽宁经济职业技术学院信息系
硕士、副教授 陈英
类示意图
派生自
广义的汽车
(Car)
奔驰
捷达
生成实例宝来
派生自 派生自
你的宝来
生成实例
我的宝来
Car 类的对象将拥有一
组确定的公共属性。类
中的每个对象都会有属
性值。
面向对象的概念
什么是对象?
任何事物都 可以被看作是对象。对象无处不在。你可
以认为 Car (车)是一个特定的对象类,泛指所有车,
这当然是比较抽象的,因为谁也找不到一辆真正意义
上的综合各种类型的通用车。
什么是类?
? 类用来表示一个个有共同属性的对象集合的规范。
? 类是模板或蓝图,从这里对象被真正地创建。
? 一个类就是一个规范,或者说是一个模板,表示为
一段程序,用于规范某个特定类型的对象将如何构成。
面向对象的概念
类是描述对象的“基本原型”,它定义一
种对象所能拥有的数据和能完成的操作,在面
向对象的程序设计中,类是程序的基本单元。
variables
methods
面向对象的概念
什么是子类:
? 子类是一个继承了父类全部属性而同时又包含着
其它特有属性的类。
? 当从类中构造一个对象时,即是创建了这个类的
一个实例。
? 类的一个实例( instanc)是该类中某个实际对象
的一种技术表示方法。 程序中的对象是类的一个实
例,是一个软件单元,它由一组结构化的数据和在
其上的一组操作构成
面向对象的概念
用什么定义类的对象?
? 类和其它一些语言中复杂的数据类型之间
根本的区别在于类中包含的不仅是数据。
可以在类中规定用户对该类的对象做何处
理。
? 类定义应该列出定义该类对象所需的所有
信息。
? 类的名称跟随在单词 class 之后,具体定
义的细节则出现在大括号中。
面向对象的概念
class Car {
private int color_number;
private int type_number;
private int speed;
void brake() { … }
void speedUp() {…};
void slowDown() { … }
}
计算机中
的对象的原型
现实生活中的对象
? 数据抽象类型
这些代码指定
了类的属性
这些代码指
定了类的方
法
所有代码应该
存储在一个名
为 Car.java 文
件中 。
面向对象的概念
java 程序语句
在 Car类的示例中已经看到,类中每种
方法的程序代码都显示在括号中,并且由
程序语句构成。每个程序语句由一个分号
结束。 java 程序语句在必要的时候可以
扩展到多行,每一条语句最后都由分号结
束,而不会被各行分开。
面向对象的概念
什么是封装?
? 封装把对象数据和行为结合在一个包中,并对
对象的使用者 隐藏数据的实现过程。其实现方
法是在定义类的时候把它们指定为 private 。
? 封装定义程序如何引用对象的数据,封装实际上
使用方法将类的数据隐藏起来,控制用户对类的
修改和访问数据的程度。
? 在 Car类中,实例变量 color_number,speed,
type _number都是封装的。这些变量只能通过为
该类定义的方法来访问。
面向对象的概念
封装的优点:
1) 保证类对象的安全性和完整性。
2) 由于把类的实现情况隐藏起来,只允许对类成员进行
有限的访问,所以程序员可以自由地更改类的内部,
不需要为使用该类的程序做什么变化而担心。
3) 只要一个类可供外部方法 调用的外部特点不变,程序
员就可以任意更改这个类的内部代码。
方
法
数
据
对象 A 对象 B
私有数
据
方法
公有数据
面向对象的概念
什么叫实例字段?
1) 一个对象中的数据叫做它的实例字段 。
( instance field)
2) 一个特定的对象是类的一个实例,它的实例字段
有其特定的值。
3) 所有这些值即是这个对象的当前状态( state) 。
什么叫方法?
1) 在一个对象中操作数据的函数和过程叫做它的方
法( method)。
2) 当把一个方法施加于一个对象时,这个状态可能
会改变。
面向对象的概念
封装的作用:
1) 使封装起作用的关键是绝对不允许方法直接访问
除了它实例字段之外的类中其它的实例字段。
2) 程序只能通过对象的方法来与对象数据发生作用。
3) 封装使对象实现了, 黑盒子, 特性,这是再利用
和可靠性的关键。
4) 一个类可以完全改变其存储数据的方式,但是只
要它继续使用同样的方法来操作数据,其他的对
象帽不会知道也没的必要知道这种改变。
面向对象的概念? 什么是继承?
1) 继承就是允许在已经存在类的基础上构建新的类 。
2) 继承是子类利用父类中定义的方法和变量,就像它们属于
子类本身一样 。
3) 同时可在子类中增添新的方法和字段以适应新的环境。
class Car
{ int color_number;
int door_number;
int speed;
push_break() { … }
add_oil() { … }
}
class Trash_Car
extends Car
{ double amount;
fill_trash() { … }
}
面向对象的概念
什么是方法的重载 (多态性 - polymorphism)?
1) 在同一个类中至少有两个方法用同一个名字,但
有不同的参数。
2) 多态性 含义是能够呈现出多种不同的形式或者形
态。
类
void show(int int_num)
void show(double double_num)
void show(nit nit_ um,float float_um)
123
1.23
123,1.23
Java 的程序结构
Java程序总是由一些类构成。
在每个程序中可以有多个但至少有一个
类。
一般把每个类的程序代码放入一个单独
的文件,文件名必须与其中定义的类的
名称相同。
Java源文件必须使用扩展名,java 。
Java 的程序结构
编辑存盘:主类名 (含有 main方法 )和文件 名要 一致
HelloWorldApp.java
编译程序, javac HelloWorld.java
运行程序, java HelloWorld
运行结果, Hello World!
public class HelloWorld
{
public static void main(String[] args) //程序入口 main()的方法
{
System.out.println("Hello World!"); //输出一字符串
}
}
? Java应用程序
Java 的程序结构
1,声明一个类, public class HelloWorld
类名的第一个字母要大写
2,public static void main(String[] args)是类体中的
一个方法。一个 Java应用程序必须且只有一个
main方法,这个类称为应用程序的主类。
3.关键字 public指出它可以被全程访问。
4.关键字 static保证即使该类没有任何对象存在,它
也可以被访问。
5.关键字 void指出它不返回值。
6,System.out.println是向屏幕输出,相当于 C中的
printf();
Java 的程序结构
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorldApplet extends Applet{
public String s;
public void init(){ //applet的初始化方法
s = new String("Hello World");
}
public void paint(Graphics g){
g.drawString(s,10,25);
}
}编辑存盘,主类名 (extends Applet)和文件名一致
编译代码, javac HelloWorldApplet.java
编写 HTML文件, HelloWorldApplet.html
1.4 你的第一个 Java程序
?运行 applet程序,
1,用 appleteviwer运行,在命令行中输入命令
HelloWorld.html
2,在浏览器下运行,如用 IE,NetScape 等浏览器,打开
HTML文件,即会装载类文件并运行。
? 运行结果,
<html>
<applet code="HelloWorlde.class" width=200 height=80>
</applet>
</html>
Java 的程序结构
Java Applet 小应用程序
1) 能够在网页上运行的 Java程序称作 Applet(小程序)。
它是通过把类名镶嵌到 HTML文档中,通过浏览器或
Appletviewer 加载执行的。
2) 它不需要 main()方法,但必须有一个类扩展了 Applet
类,即它是 Applet类的子类。称该类为这个 Java
Applet 的主类。
3) Java Applet 的主类必须是 public的。
4) Applet类是系统提供的类。每一个 applet都是
java.applet.Applet的子类,用 extends继承。
5) import语句用来引用 java.applet包中的 Applet类。
Java 的程序结构
1,public void init()方法是 Applet运行的起点。
2.当 applet被浏览器运行时,paint语句自动执行。
3.在 applet中与屏幕输出有关的操作通过 Graphics
对象来实现。
4.一个 Java源文件内最多只能有一个 public 类,称为
主类,且必须和文件名同名。
常见的 Java 误解
Java是 HTML的一个扩展。
Java是非常容易学习的编程语言。
Java提供了一个易于编程的环境。
Java会变成通用于任何平台的统一语言。
Java只不过是另外一种编程语言。
Java是解释型的,所以在具体平台上它对于应用程序
来说太慢了。
所有的 Java程序都运行在网页中。
Java Applet 会带来安全危险。
Java Script 是 Java 的简易版本。
Java会带来客户机 /服务器计算模型的革命。
Java会基于组件的计算模型真正起飞。
Java简介
Java是一种编程工具
1) Java是一种很好的编程语言。目前 Java语言的
结构不会做任何改变。
2) Java代码清晰合理、简明流畅,并提供了丰富
的类库。改进 Java主要是对其库的重大变化,
其结果是产生一个有用的、强大的、远远优于
早期版本的 Java编程平台。
3) 使用 Java语言的继承性、封装性、多态性等面
向对象的属性,从而降低程序的复杂性,实现
代码的复用,提高开发速度。