面向对象特征:封装、继承、多态。
面向对象开发:不断创建对象、使用对象、指挥对象做事情。
面向对象设计:管理和维护对象之间的关系。
什么是类? 类是一组相关的属性和行为的集合。
对象:类声明的变量被称为对象变量,简称对象。
属性:事物的描述信息(事物身上的名词)
行为:该事物能够做什么(事物身上的动词)
Java中最基本的单位就是类。
类的定义分为两部分:类声明和类体。
class 类名{ 类体的内容 }类的目的:抽象出一类事物共有的属性和行为,并用一定的语法格式来描述所抽象出的属性和行为。其中{ }之间的内容称作类体。类体的内容由两部分组成:
变量的声明:用来存储属性的值(体现对象的属性),声明的变量称为成员变量或者域变量。
方法的定义:方法可以对类中声明的变量进行操作,即给出算法(体现对象所具有的行为)
成员变量:类中方法外。
成员变量和局部变量的区别 1、类中的位置不同 成员变量:类中方法外。 局部变量:在方法定义中或者方法声明上。 2、在内存的位置不同 成员变量:在堆内存(成员变量属于对象,对象进堆内存) 局部变量:在栈内存(局部变量属于方法,方法进栈内存) 3、生命周期不同 成员变量:随着对象的创建而创建,随着对象的消失而消失。 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。 4、初始化值不同 成员变量:有默认初始化值。 局部变量:没有默认初始化值,必须定义,赋值,然后才可以使用 注意:局部变量名称可以和成员变量名称一样,在方法使用中采用的是就近原则。
静态变量和成员变量的区别 静态变量也叫类变量,成员变量也叫对象变量。 1、所属不同 静态变量属于类,所以也称为类变量。 成员变量属于对象,所以也称为实例变量(对象变量) 2、内存中位置不同 静态变量存储于方法区的静态区。 成员变量存储于堆内存。 3、内存出现时间不同 静态变量随着类的加载而加载,随着类的消失而消失。 成员变量随着对象的创建而存在,随着对象的消失而消失。 4、调用不同 静态变量可以通过类名调用,也可以通过对象调用。 成员变量只能通过对象名调用。
为什么要有方法? 提高代码的复用性
方法的定义包括方法头和方法体。
构造方法:给对象的数据(属性)进行初始化。
构造方法格式特点: 方法名与类名相同(字母大小也要一致)。 没有返回值类型,连void也没有。 没有具体的返回值return。 允许在一个类中编写若干个构造方法,但必须保证它们的参数不同,参数不同是指:参数的个数不同,或者参数个数相同,但参数列表中对应的某个参数的类型不同。
package com.hpu.edu.dong; public class dong { int x,y; dong(){ //构造方法 x=1; y=2; } dong(int a,int b){ //构造方法 x=a; y=b; } void dong(int a,int b){ //不是构造方法 x=1; y=2; } public static void main(String[] args) { // TODO Auto-generated method stub } }创建对象 创建一个对象包括对象的声明和为对象分配变量两个步骤。 1、将.class文件加载进内存; 2、声明对象类型引用;
3、在堆内存创建对象; 4、给对象中属性默认初始化值; 5、属性进行显示初始化; 6、构造方法进栈,对对象中的属性赋值,构造方法弹栈; 7、将对象的地址值赋给所创建的对象。
