类与对象
类与对象的关系
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但并不能代表某一具体的事物。(form,形式,抽象){植物,动物,汽车,轮子}
对象是抽象概念的具体实例,张三,张三家里的狗旺财,都是具体实例。能够
体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。
创建与初始化对象
使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化及对类中构造器的调用。
用代码来认识类与对象
一个类只包含属性和方法。
package OOP1;
//学生类
//一个类包含了属性和方法。
//是一个抽象的概念,是一个模板,例如属性不会写死(写成xiaoming)
public class Student {
//属性:字段
String name; //(模板 name而不是具体的xiaoming)默认值null
int age; //(模板 age 而不是具体的13,14)默认值是0
//方法
public void study(){
System.out.println(this.name+"在学习");
//this表示当前这个类
}
}
package OOP1;
//一个项目应该只存在一个main方法
public class Application {
public static void main(String[] args) {
//类是抽象的,需要实例化,变成对象
//类实例化后,会返回一个自己的对象!
//student对象就是Student类的一个具体实例
Student xiaohong = new Student();
Student xiaoming = new Student();
//这些具体实例都有Student类的属性和方法。
Student student = new Student();
xiaohong.name = "小红";
xiaoming.name = "小明"; //他们用于name这一属性
System.out.println(xiaohong.name);//小红
xiaohong.study(); //小红在学习
}
}
在上面的实例中,new出的xiaoming,xiaohong,persen都是Student类的一个实例化,拥有Student类的属性与方法。Student类是这些对象(实例)的模板、form、形式、抽象概念。
Student是类;xiaoming,xiaohong,student是实例,是对象。