3. 对象的创建分析
类与对象的关系
-
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。
-
对象是抽象概念的具体实例
-
张三就是人的一个具体实例,张三家的旺财就是狗的一个具体实例。
-
能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。
-
创建与初始化对象
-
使用 new 关键字创建对象
-
使用 new 关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化,以及对类中构造器的调用。
/**
* 学生类
*/
public class Student {
//属性:也可以称为 字段
String name;
int age;
//方法
public void learn(){
//this关键字:指代的是当前类 Student
System.out.println(this.name + "在学习!");
}
}
/**
* 启动类
*/
public class Apeliction {
public static void main(String[] args) {
/**
* 类:是抽象的,需要实例化
* 类实例化之后会返回一个自己的对象
* student对象,是 Student 类的具体实例
*
* 变量类型 变量名 = 变量值();
*/
Student xiaoming = new Student();
Student xh = new Student();
xiaoming.name = "小明";
xiaoming.age = 20;
System.out.println(xiaoming.name);
System.out.println(xiaoming.age);
xh.name = "小红";
xh.age = 20;
System.out.println(xh.name);
System.out.println(xh.age);
}
}
-
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。
-
构造器特点:
-
必须和类的名称相同
-
必须没有返回类型,也不能写 void
-
public Person01() {
}
-
构造器作用:
-
new 本质在调用构造方法
-
初始化对象的值
-
-
注意点:
-
定义有参构造之后,如果想使用无参构造,必须要显示的定义要给无参构造
-
/**
* 启动类
*/
public class Apeliction {
public static void main(String[] args) {
/**
* new 实例化了一个对象
*/
Person01 person01 = new Person01();
System.out.println(person01.name);
}
}
public class Person01 {
//定义属性
String name;
int age;
/**
* 定义无参构造方法
* 在做 new 动作之前,会先调用构造方法
* 特点:
* 1.和类名称一致
* 2.没有返回值
* 作用:
* 1.new 的本质是调用构造方法
* 2.初始化对象的值
*/
public Person01(){
this.name = "张俊";
}
/**
* 定义有参构造
* 注意点:
* 如果创建了有参构造后,在想使用无参构造时,则必须显示的创建一个无参构造,否则无法使用
*/
public Person01(String name){
this.name = name;
}
}


浙公网安备 33010602011771号