类与对象的创建
1.什么是类和对象?
- 类:类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物
类都是用来描述/定义一类具体事物应该具备的特点和行为。
- 对象:对象是抽象概念的具体实例。例如张三就是人的一个具体实例,张三家的狗就是狗的一个具体实例。
对象能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。
2.创建和初始化对象
- 使用new关键字来创建对象。
- 在使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中的构造器的调用(先不看构造器)。
3.创建方法
- 首先咱们建立两个文件,其中一个文件以student命名(作为一个类),另一个文件作为对象,在该文件中就会引用student类。
- 第一个文件是类,在类里面最多包含属性和方法,代码如下。大家可以发现里面是没有main函数的。
public class student {
//属性:字段
String name;//默认值是null
int age;//默认值是0
//方法
public void study(){
System.out.println(this.name+"在学习");
}
}
3.第二个文件则是引用类,来构建对象,使用new的方法来创建对象。代码如下。
public class application {
public static void main(String[] args) {
//类是抽象的,需要实例化,使用new来进行实例化。
//类实例化后,会返回一个自己的对象。
//students对象就是一个student类的具体实例。
//同样,我们还可以new许多其他的对象。
student students = new student();
student xiaoming = new student();
student xiaohong = new student();
System.out.println(xiaohong.name);//此时,我没有对xiaohong.name进行初始化或者赋值
System.out.println(xiaohong.age);
}
}
=======================================================
那么最终输出结果是
null
0
因为在new一个对象的时候,会给创建好的对象进行默认的初始化
- 来咱们给他们进行赋值
public class application {
public static void main(String[] args) {
//类是抽象的,需要实例化,使用new来进行实例化。
//类实例化后,会返回一个自己的对象。
//students对象就是一个student类的具体实例。
//同样,我们还可以new许多其他的对象。
student students = new student();
student xiaoming = new student();
student xiaohong = new student();
xiaoming.name="小明"; //进行赋值
xiaoming.age=3;
xiaohong.name="小红";
xiaohong.age=4;
System.out.println(xiaohong.name);
System.out.println(xiaohong.age);
System.out.println(xiaoming.name);
System.out.println(xiaoming.age);
}
}
==========================================
那么最终结果就是
小红
4
小明
3
- 因为咱们在定义一个类的时候,里面还有一个方法。咱们调用一下这个方法。
public class application {
public static void main(String[] args) {
//类是抽象的,需要实例化,使用new来进行实例化。
//类实例化后,会返回一个自己的对象。
//students对象就是一个student类的具体实例。
//同样,我们还可以new许多其他的对象。
student students = new student();
student xiaoming = new student();
student xiaohong = new student();
xiaoming.name="小明";
xiaoming.age=3;
xiaohong.name="小红";
xiaohong.age=4;
xiaohong.study();//调用这个方法
xiaoming.study();
}
}
==================================================
那么他的最终结果就是
小红在学习
小明在学习