Java基础——类与对象
面向过程:强调功能行为。
面向对象:将功能封装进对象,强调具备了功能的对象。
面向对象的三大特征:
封装
将代码和其操作的数据捆绑在一起,防止外部对数据和代码的干扰。数据和代码以封装的形式链接起来就构成了一个对象
隐藏内部功能的具体实现,只保留和外部交流数据的接口。就好比电视机,用一个外壳把内部零部件及控制电路封装起来,只提供按钮或者遥控器接口供人使用。
继承
一个对象获得另一个对象的属性。通常一个对象可以从它的父类继承所有的通用属性。继承最大的好处是实现代码的高效重用,也更加形象的描述现实世界中对象的关系。
多态
即同一个动作作用不同的对象产生不同的具体行为。
**类:**类是对一类事物的描述,是抽象的、概念上的定义。
**对象:**对象是实际存在的该类事物的每个个体,也称实例。
//定义一个类
public class Animal
{
public int legs;
public void eat()
{
System.out.println(“Eating.”);
}
public void move()
{
System.out.println(“Moving.”);
}
}
//声明并创建一个Animal类的对象,将该对象命名为dog
Animal dog = new Animal();
//调用对象dog中的方法
dog.eat();
修饰符 private: 该属性只能由本类的方法访问。
修饰符 public: 该属性可以被本类以外的方法访问。
成员变量vs局部变量
相同点:
1.遵循变量声明的格式: 数据类型 变量名 = 初始化值
2.都有作用域
不同点:
1.声明的位置的不同 :成员变量:声明在类里,方法外
局部变量:声明在方法内,方法的形参部分,代码块内
2.成员变量的修饰符有四个:public private protected 缺省
局部变量没有修饰符,与所在的方法修饰符相同。
3.初始化值:一定会有初始化值。
成员变量:如果在声明的时候,不显式的赋值,那么不同数据类型会有不同的默认初始化值。
byte short int long =>0
float double =>0.0
char =>空格
boolean =>false
引用类型变量=>null
局部变量:一定要显式的赋值。(局部变量没有默认初始化值)
4.二者在内存中存放的位置不同:成员变量存在于堆空间中;局部变量:栈空间中
总结:关于变量的分类:1)按照数据类型的不同:基本数据类型(8种) & 引用数据类型
2)按照声明的位置的不同:成员变量 & 局部变量