类与对象的关系
类似一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某个具体事物。
比如 动物、植物、手机、电脑。。。。。
对象是抽象概念的具体实例,张三家的旺财就是狗的一个具体实例。
能够体现出特点,展现出功能的是具体实例,而不是一个抽象概念。
创建和初始化对象
这里有一个学生类 Student
package com.zhang.oop;
public class Student {
//属性 字段
String name;
int age;
//方法
public void study(){
System.out.println(this.name+"在学校");
}
}
一个类中只有两个东西 属性和方法、
现在又有一个app类,要使用Student,那就要对进行实例化
package com.zhang.oop;
//一个项目应该只存在一个main方法
public class app {
public static void main(String[] args) {
Student xm = new Student();//实例化
Student xh = new Student();
xm.name = "小明";
xm.age = 3;
xh.name = "小红";
xh.age = 3;
System.out.println(xm.name +" "+ xm.age);
System.out.println(xh.name +" "+ xh.age);
xh.study();
}
}
类实例化后就会返回一个自己的对象
xm、xh就是返回的对象
构造器
类中的构造器也叫构造方法,是在进行创建对象的时候必须调用的,并且构造器有以下两个特点。
必须和类的名字相同
必须没有返回类型,也不能写void
虽然person类里面什么都都没写,但是他能被new出来,说明Person类中存在一个空的方法,如下。
我们打开Person.class文件发现里面 有个构造器,名字与类名相同,没有返回类型,也没写void。
由此我们可知,一个类中即使什么都不写,也会存在一个方法,这个方法就是构造方法。
构造器的作用
构造方法可以用来实例化初始值,这样我们就不用在main方法里给初始值赋值了。
构造器总结:
1.和类名相同
2.没有返回值
作用:
1.new本质在调用构造方法
2.初始化对象的值
3.定义有参构造之后,如果想使用无参构造,无参构造必须显示定义。
快捷键
Alt + Insert