java程序设计_JAVA面向对象程序设计之对象、类和封装
1 基本概念
程序的发展经历了两个主要阶段:面向过程、面向对象。
例如一个木匠要做一个盒子,出发点会有两种方式:
Ø 面向对象:先想好要做的盒子,之后再去找相应的工具去做。
Ø 面向过程:不去想做什么样的盒子,随需取用工具。
面向对象有三大特征:
l 封装:对外部不可见
l 继承:扩展类的功能
l 多态:方法的重载、对象的多态性
面向对象的核心组成部分:类与对象
类 :类是一个模板,它描述一类对象的行为和状态。例如,狗是一个类,它有一些共同特征,比如叫、跑等。
对象 :对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。软件对象的状态就是属性,行为通过方法体现。
Java 中的类可以看成是创建 Java 对象的模板。通过下面一个简单的类来理解下 Java 中类的定义:
public class Dog{String breed;int age;String color;void barking(){}void hungry(){}void sleeping(){}}
一个类可以包含以下类型变量:
局部变量 :在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量 :成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量 :类变量也声明在类中,方法体之外,但必须声明为 static 类型。
一个类可以拥有多个方法,在上面的例子中: barking() 、 hungry() 和 sleeping() 都是 Dog 类的方法。
1.1 构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法, Java 编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
下面是一个构造方法示例:
public class Puppy{public Puppy(){}public Puppy(String name){// 这个构造器仅有一个参数: name}}
1.2 创建对象
对象是根据类创建的。在 Java 中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字 new 来创建一个对象。
初始化:使用 new 创建对象时,会调用构造方法初始化对象。
下面是一个创建对象的例子:
public class Puppy{public Puppy(String name){// 这个构造器仅有一个参数: nameSystem.out.println("Passed Name is :" + name );}public static void main(String []args){// 下面的语句将创建一个 Puppy 对象Puppy myPuppy = new Puppy( "datahouse" );}}
编译并运行上面的程序,会打印出下面的结果:
Passed Name is :datahouse