> 文档中心 > java面向对象

java面向对象

面向对象

  • 面向对象
    • 1. 面向对象概念
    • 2. 面向对象编程的基本特征
    • 3. 类和属性的定义
    • 4. java类的基本结构
    • 5. 类的声明形式以及作用
    • 6. 属性的声明形式及作用
    • 7. 成员变量和临时变量
    • 8. 创建对象
    • 9. 访问对象的成员属性和方法

面向对象

1. 面向对象概念

  • OPP :Procedure Oriented Programming 面向过程的编程

  • OOP :Object Oriented Programming 面向对象的编程

  • 面向过程 OPP

    • 自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里
  • 面向过程 OOP

    • 去饭店,张开嘴:老板!来一份鱼香肉丝!

2. 面向对象编程的基本特征

  • 三大特征
    • 封装 :将功能封装成一个个独立的单元,减小耦合,避免牵一发而动全身,方便对程序的修改。
    • 继承 :代码重用,减少编码量,间接减少维护成本。
    • 多态 :不同的场合做出不同相应。
OPP :1. 打开冰箱2. 把大象放进冰箱3. 关闭冰箱门OOP :人{打开(冰箱){冰箱.开门();冰箱.关门();}操作(大象){大象.进入(冰箱);}    关闭(冰箱){冰箱.关门();}}冰箱{开门();关门();}大象(){进入(冰箱);}

3. 类和属性的定义

  • 类和对象的关系
    • 类:就是一个模板,是一类对象的模板,他描述一类对象的行为和状态,定义了这些对象应该有的属性及方法。
    • 对象:万物皆对象。对象是类的具体体现。
      • 对象的实质是:属性(成员变量)+ 行为(方法或函数)

4. java类的基本结构

  • 类的结构:属性、方法、构造方法、内部类、块。

5. 类的声明形式以及作用

  • 类的声明

    • [访问权限修饰符] [修饰符] class 类名 {类体  }
  • 类的作用: 类就是一个模板,定义多个对象共同的属性和方法

  • 例:

    public class Student {/*[访问权限修饰符] [修饰符] class 类名 { 类体   }   1. 权限修饰符    1. public : 公有的,代表所有的其他类都能访问这个类    2. default : 默认的,可以省略不写,代表是包权限,只有在本包下 类才能访问2. class ;关键字,代表定义类3. Student : 类名,代表类的名字,大驼峰4. 类的作用 : 类就是一个模板,定义多个对象共同的属性和方法*/    }

6. 属性的声明形式及作用

  • 属性的定义

    • 属性即对象应有的数据

      注:属性又称成员变量,是声明在类中的变量,在方法体中声明的变量为局部变量或临时变量

  • 属性的声明 方式

    • [访问权限修饰符] [修饰符] 数据类型 属性名[=初值]
    • 例:

      public class Student {/*1. 属性属性即对象应有的数据。 注:属性又称成员变量,是声明在类中的变量,不是声明在方法中的变量属性的声明方式:[访问权限修饰符] [修饰符] 数据类型 属性名[=初值]    1.访问权限修饰符: 1) private(私有的,只有本类可以访问) 2) protected(受保护的,本类,子类,不同包的子类可以访问) 3) default(默认的,本包的类可以访问) 4) public(公共的,所有的类都可以访问)    2.数据类型:java数据类型,int short byte long float double boolean char 数组 字符串 枚举 类 接口    3.属性名:变量名,java标识符,小驼峰    4.属性可以只定义不赋初始值,在不赋初始值的情况下,属性的值是该类型的默认值 */    protected  String name; //姓名属性:null    int age;  //年龄属性,默认值:0    }

7. 成员变量和临时变量

  • 成员变量
    • 堆内存,声明在类体内方法外;
    • 可以在声明时赋值或者构造方法赋值,若不赋值,会有默认的初始值;
    • 作用域:整个类都可以使用。
  • 临时变量
    • 栈内存, 方法内,包括方法的参数;
    • 声明和赋值之后才能使用,否则编译就会报错;
    • 作用域:找括号(变量声明在哪对{}里,那么它就在哪对{}内生效),出了括号就不认识了。
    • 成员变量和临时变量如果变量名相同,那么采用就近原则,以局部变量为准。

8. 创建对象

  • 调用无参数的构造方法

    类名 对象名 = new 该类的构造方法();例:Student stu = new Student();
  • 调用有参数的构造方法

    类名 对象名 = new 该类的构造方法(参数1,参数2...);例:Student stu = new Student("lily",18)
  • 创建对象的作用:要想访问一个类中的非私有成员,必须先创建该类对象,通过对象名来访问。

9. 访问对象的成员属性和方法

  • 访问类的属性:对象名.属性
  • 调用类的方法:对象名.方法名(实参列表)