类和对象
对象我们知道,代表现实世界中可以明确标识的一个实体(万物皆对象),每个对象都有自己独特的标识、状态和行为。
类是具有相似特征和行为的事物的统称。使用一个通用类来定义同一类型的对象。 类是一个模板 、蓝本或者说是合约 , 用来定义对象的数据域是什么以及方法是做什么的 。
一个对象是类的一个实例,可以从一个类中创建多个实例 。
注意:主函数是不需要创建对象的,可以直接调用(由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();
}
}
对象创建的流程
主函数先进栈
执行语句的右边new Dog(),在堆内存中开辟一个空间,随机分配地址
在对象空间中创建成员变量的空间,并对成员变量进行默认初始化,创建成员函数(并不在对象空间里,也不再栈里,在栈中调用)
在函数栈中创建局部变量,存放的是该对象在堆内存中的地址
局部变量和成员变量的区别
区别一:定义的位置不同
成员变量定义在类中,局部变量定义在方法中或者语句里面
区别二:在内存中的位置不同
成员变量存储在堆内存的对象中,局部变量存储在栈内存的方法中
区别三:声明周期不同
成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失,局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
区别四:初始化不同
成员变量因为在堆内存中,有默认的初始化值,局部变量没有默认的初始化值,必须手动的给其赋值才可以使用
java相关文章教程分享:java零基础入门