面向对象基础1-类和成员变量
一、面向对象和面向过程对比
何为面向对象呢?我们先比较一下面向过程和面向对象的区别。
面向过程:是一种一过程为中心的编程思想,实现功能的每一步,都是自己实现的。
面向对象:是一种以对象为中心的编程思想,通过指挥对象实现具体的功能。
举一个例子:
你自己在家的时候需要自己做饭,洗衣服...,这是你在面向过程
而你女盆友在家的时候,就可以指挥女盆友去做饭,指挥洗衣机去洗衣服,这是面向对象,而女盆友和洗衣机这类就是我们要介绍的对象。
最后,何为面向对象呢? 1、客观存在的一种事物,都可以看作程序中对象 2、使用面向对象思想可以将简单的问题简单化、 3、把我们从执行者变成了指挥者
二、类和对象
1、什么是类
类是一类具有共同属性和行为的事物的抽象
类的特点: 1、类是对象的数据类型 2、类是具有相同属性和行为的一组对象的集合 什么是对象的属性: 对象具有的每个特征,每个属性都有特定的值 什么是对象的行为: 对象能够执行的操作,行为
2、类的定义
类是java程序中基本的组成单位。
首先,类由属性和行为组成: 属性:在类中通过成员变量来体现 行为:在类中通过成员方法来体现(去掉static关键字)
下面介绍类是如何定义的: 步骤:
1、定义类
2、编写类的成员变量
3、编写类的成员方法
public class 类名{ //成员变量 变量1的数据类型 变量1; 变量2的数据类型 变量2; ... //成员方法 方法1; 方法2; ... }
下面举一个例子:
public class Phone{
//成员变量
String name;
int num;
//成员方法
void call(){
System.out.println("打电话");
}
}
3、对象的创建和使用
1、对象的使用
创建对象: 格式: 类名 对象名 = new 类名(); 例: Phone p = new Phone();
2、对象的使用
1.使用成员变量 格式: 对象名.变量名 例: p.name 2.使用成员方法 格式: 对象名.方法名() 例: p.call();
代码案例:
public class PhoneTest(){
public static void main(){
//创建对象
Phone p = new Phone();
//使用成员变量,使用前先给变量赋值
p.name = "小米";
p.num = 2399;
System.out.println(p.name);
System.out.println(p.num);
//使用成员方法
p.call();
}
}
4、成员变量和局部变量的区别
什么是成员变量:类中方法外的变量
例:
public class Phone{
//成员变量
String name; //这是成员变量
int num; //这是成员变量
//成员方法
void call(){
System.out.println("打电话");
}
}
什么是局部变量:方法中的变量
例:
public class Phone{
//成员变量
String name;
int num;
//成员方法
void call(){
int day = 1999-1-1; //这是局部变量
System.out.println("打电话");
}
}
成员变量和局部变量的区别: 1、类中位置不同: 成员变量:类中方法外 局部变量:方法内或者声明上(形参) 2、内存中位置不同: 成员变量:堆内存 局部变量:栈内存 3、生命周期不同: 成员变量:随着对象的存在而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法得到调用完毕而消失 4、初始化值不同: 成员变量:有默认的初始化值 局部变量:没有默认的初始化值,必须先定义,赋值,才能使用
5、类和对象的关系
类是对象的抽象,对象是类的实体。
