你的位置:首页 > Java教程

[Java教程]类、对象和包


1) 面向对象编程(Object Oriented Programming ,简称 OOP):20世纪70年代以后开始流行。

2) 结构化编程与面向对象编程的区别:

A. 在结构化编程中,程序主要围绕着解决的任务来设计。编写程序就是编写执行特定任务的过程,过程中需要用到的数据通过过程参数传递到过程中。过程可以查看以及改变传递进来的数据,并可以将值返回给调用它的过程。

B. OOP主要围绕着解决的问题中的对象来设计,对于每个对象,我们会编写一个类来描述对象的属性和行为。

3) 何为对象和类?

A. 对象:“万物皆对象”、对象由属性和行为组成,属性是对象所具有的特征,行为是对象可以做到动作。

B. 类:类是具有相同属性和行为的一组对象的集合。对象的每个属性被表示为类中的一个成员变量,每个行为成为类中的一个方法。

C. 两者关系:类是对象的抽象(描述),对象是类的实例。

4) 成员变量和局部变量

A. 成员变量:在类中声明的变量,有默认值,可以用在一个类的所有地方。

一个对象的成员变量的初始值
 成员变量的数据类型   初始值 
            byte  0
      short   0
            int  0
            long  0
            float  0.0
            double  0.0
            char null
            boolean  flase

 

a. 成员变量组成部分:

— 访问修饰符(public 公用的、private 私有的、protected 受保护的、默认的)

— 数据类型

— 成员变量名称(必须是一个有效的标识符)。后面用分号结束
例如:
/**
 * 学生
 *
 * @author Administrator
 *
 */
public class Student {

    /* 属性   成员变量 */
    public String name = null; // 姓名
    public String sex; // 性别
    public int age; // 年龄
    public String stuNo; // 学号
}

B. 局部变量:在方法中声明的变量,没有默认值,仅限于在一个方法中有用。

b. 局部变量组成部分:

— 访问修饰符

— 返回值

— 方法名称(必须是一个有效的标识符)

— 参数列表,在括号中出现

例如:

            /* 方法 */

  访问修饰符 返回值类型 方法名([参数列表]) {
         方法主体 -- 待实现的功能代码块
     }    
     */
    public void introduce() {
        System.out.println(this.toString());
        System.out.println("姓名:" + name + "\n性别:" +
                sex + "\n年龄:" + age +
               "\n学号:" + stuNo);
    }

 

5)   如何创建对象以及 访问对象的属性和方法?

对象  对象名  =   new   对象();

对象名.属性 = 。。。;

例如:
import java.util.Scanner;
public class StudentTest {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        /* 创建学生对象 */
        Student stu = new Student();
        stu.introduce();
        // 为对象属性赋值
        // 如何调用对象的属性    对象名.属性名
        System.out.print("请输入姓名:");
        stu.name = input.next();
        System.out.print("请输入性别:");
        stu.sex = input.next();
        // 调用对象的方法,实现自我介绍
        // 对象名.方法名([实参列表]);
        System.out.println("********************");
        stu.introduce();
    }
}

6)  this 引用:当局部变量与成员变量重名时,使用this。(this 指代的是当前对象)

7)  包(关键字:package):包声明必须是源代码文件中除注释以外的第一条语句。

例如:

package com.lovo;

public class StudentTest {
    public static void main(String[] args) {
        Student student = new Student("0051", "王菲", 24);
        Student stu = new Student();
        student.display();
}

 A. 用途:

a. 提供了一个组织类的机制。同时可以防止类命名冲突。

b. 为包中的类提供了一个命名空间。

B. 使用import关键字导入其它包中的类:

a. 使用类的全名。例如:pay.Employee;

b. 使用关键字import以及通配符(*)导入包。例如:import pay.*;

c. 使用关键字import导入类本身。例如:import pay.Employee;