面向对象(2)
类与对象的关系
-
类是一种抽象的数据类型,他是对某一类事物的整体定义,但是不能代表某一个具体的事物。
-
动物、植物、手机、电脑......
-
Person类、Pet类、Car类等,这些类都是用来描述/定义某一类事物应该具备的特点和行为
-
-
对象是抽象概念的具体实例。
-
张三就是人的一个具体实例
-
能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念
-
创建与初始化对象
//学生类
public class Student {
//属性:字段
String name; //默认null
int age; //默认0
//方法
public void study(){
System.out.println(this.name+"在学习");
}
}
//一个项目应该只存在一个main方法
public class Application {
public static void main(String[] args) {
//类是抽象的,下面将他实例化
//类实例化后会返回一个自己的对象
//【student对象】就是一个【Student类】的具体实例!!!
Student student = new Student();
Student xm = new Student();
Student xh = new Student();
xm.name = "小明";
xm.age = 3;
System.out.println(xm.name);
System.out.println(xm.age);
xh.name = "小红";
xh.age = 4;
System.out.println(xh.name);
System.out.println(xh.age);
}
}
-
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化区以及对类中构造器的调用。
-
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。
构造器详解
特点:
-
必须和类的名字相同
-
必须没有返回类型,也不能写void
作用:
-
new 本质是在调用构造器(构造方法)
-
初始化对象的值
注意点:
-
定义有参构造之后,如果想使用无参构造,必须显示地定义一个无参构造
快捷键:Alt + Insert
创建对象内存分析
小结:
-
类是一个模板,抽象,对象是一个具体实例
-
方法:定义,调用
-
对象的引用
-
引用类型:基本类型(8)
-
对象是通过引用来操作的:栈---->堆
-
-
属性:字段(field)/成员变量
-
默认初始化:
-
数字:0 0.0
-
char:u0000
-
boolean:false
-
引用类型:null
-
修饰符 属性类型 属性名 = 属性值
-
-
对象的创建和使用:
-
必须使用new关键字创建对象,构造器 Person qyt = new Person();
-
调用对象的属性 qyt.name;
-
调用对象的方法 qyt.sleep();
-
-
类
-
静态的属性
-
动态的方法
-