面向对象 类与对象的创建
类与对象的关系
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物
- 例如,动物,植物,就相当于类,它并不能代表某一个具体事物,比如说苹果,香蕉啊
- Person 类、Pet 类、Cat 类等,这些类都是用来描述、定义某一类具体的事物应该具备的特点和行为
对象是抽象概念的具体实例
- 张三就是一个人的具体实例,张三家里的大黄,就是狗的一个具体实例
- 能够体现出特点,展现出功能的是具体实例,而不是一个抽象的概念
创建与初始化对象
1.使用new关键字创建对象
- 语法 : new 类名();
2.类是抽象的,创建对象就是实例化类
- 类实例化后会返回一个自己的对象
- 用这个类的对象来接收
- 语法: 类名 对象名=new 类名();
- 对象名就是类的一个具体实例
3.使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象,进行默认的初始化以及对类中构造器的调用
4.类中的构造器也成为构造方法,在进行创建对象时调用的,构造器有以下两个特点
- 必须和类的名字相同
- 必须没有返回值
5.一个项目内只应该存在一个启动类,只有启动类内有main方法
6.一个类当中 只存在属性和方法
示例
创建一个Student类,定义属性和方法
public class Student {
//定义属性: 字段
//姓名
String name;
//年龄
int age;
//方法
public void study(){
//this指当前对象
System.out.println(this.name+"学生在学习");
}
}
创建一个启动类 Application,在启动类当中创建Student类的对象
public class Application {
public static void main(String[] args) {
//类是抽象的
//创建类的对象就是实例化类
Student xiaohong=new Student();
Student xiaoming=new Student();
//xiaohong和xiaoming就是Student类的一个实例化对象
//为对象的属性赋值
xiaohong.name="小红";
xiaohong.age=15;
xiaoming.name="小明";
xiaoming.age=14;
//调用对象当中的方法
xiaohong.study();
xiaoming.study();
}
}
如果不为对象属性赋值,则取默认值