关于java中类和对象的详细介绍
类和对象
对象我们知道,代表现实世界中可以明确标识的一个实体(万物皆对象),每个对象都有自己独特的标识、状态和行为。
类是具有相似特征和行为的事物的统称。使用一个通用类来定义同一类型的对象。 类是一个模板 、蓝本或者说是合约 , 用来定义对象的数据域是什么以及方法是做什么的 。
一个对象是类的一个实例,可以从一个类中创建多个实例 。
注意:主函数是不需要创建对象的,可以直接调用(由JVM)。
java相关视频教程:java学习视频
类的分类
主类:主要负责程序的运行
实体类:主要负责描述事物
工具类:一般不会创建对象,直接通过类调用函数(静态)
下面几个就是我们常用的比较熟悉的几个工具类:
Math.abs() Math.random() Arrays.toString(); System.out.println();
对象与类的关系:
类是对象的定义, 对象从类创建。例如狗是一个类,对所有狗的一个统称,而哈士奇就是狗这个类的一个实体对象。
如何去定义一个类
主要定义其特征和行为
特征:变量
行为:函数
定义狗这个类 ,特征有姓名、性别、年龄、身高、体重和毛色,定义6个成员变量存放,行为有吃和睡,定义两个成员函数来实现。
class Dog{ //直接定义在类中的变量 成员变量 姓名 String name; 性别 String sex; 年龄 int age; 身高 double heigth; 体重 double weight; 毛色 String color; //成员函数(非static函数) 吃 public void eat(){... return;} 睡 public void sleep(){... return;} }
创建具体对象:
public class Mian{ public static void main(String[] args) { Dog Huskies=new Dog(); } }
对象创建的流程
1、主函数先进栈
2、执行语句的右边new Dog(),在堆内存中开辟一个空间,随机分配地址
3、在对象空间中创建成员变量的空间,并对成员变量进行默认初始化,创建成员函数(并不在对象空间里,也不再栈里,在栈中调用)
4、在函数栈中创建局部变量,存放的是该对象在堆内存中的地址
局部变量和成员变量的区别
区别一:定义的位置不同
成员变量定义在类中,局部变量定义在方法中或者语句里面
区别二:在内存中的位置不同
成员变量存储在堆内存的对象中,局部变量存储在栈内存的方法中
区别三:声明周期不同
成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失,局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
区别四:初始化不同
成员变量因为在堆内存中,有默认的初始化值,局部变量没有默认的初始化值,必须手动的给其赋值才可以使用