前言
大家好呀,很抱歉断更了一个多星期,上篇说的要更新C++array也一直没更新,为什么呢?因为上周我确定了自己的方向:java,所以我上周一直在疯狂学习java,也没能及时更新博客,但没关系,我这周又回来了,我来更新我的java学习笔记了。
一、类和对象的概念
和我们之前学的面向过程的C语言不同,java是一种面向对象的高级程序语言?那么什么是对象呢?此对象非彼对象,这里对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象有以下特点
对象具有属性和行为。
对象具有变化的状态。
对象具有唯一性。
对象都是某个类别的实例。
一切皆为对象,真实世界中的所有事物都可以视为对象。
想要理解对象就绕不开类这个概念,实质上可以将类看作对象的抽象,它定义了对象所具有的属性(成员变量)和方法(函数)
当然看了这些抽象的概念,你可能对类和对象还不是太清楚😂,没关系我们接下来从不同的角度阐述什么是类什么是对象😎
1、从生活逻辑的角度
人这个生物可以看作是一个类,人有名字、性别、年龄,这可以看作是类的属性(成员变量),人要吃饭、休息、学习、工作,这可以看作类的行为(方法或函数)但这些属性和行为无疑是抽象的,因为你不可能给一个人类大群体都起一个具体的名字,比如都叫张三,那全世界就有70多亿个张三了,可能吗?
所以我们提到的人的名字、年龄和他们的吃饭工作的行为都是都是一个抽象的概念,是不具体的。
而每个人都是一个独立的个体,每个人都有他自己的名字等具体的属性,每个人都有他自己要干的事(行为或称方法),这些针对每个人的属性(成员变量)、行为(方法)无疑都是具体的,比如:李四、性别男、今年19岁、正在去餐厅吃晚饭。
人这个生物群体就是一个类,而具体的每个人:小王、小红、小强就人这个类所对应的一个个实例化的对象,如下图所示:
2、从编程语言的角度
类可以看作是自定义的数据类型
对象可以看作是类所对应的数据类型的变量
二、类与对象的定义和和简单使用
类的定义
在Java中定义类,使用关键字class完成。语法如下:
class 类名称 {
属性 (变量) ;
行为 (方法) ;
}
比如定义一个学生类
class Student { String name; //学生类的属性 int age; public void eat() { System.out.println(name + "在吃饭"); // 学生类的行为(方法) } }
那么类定义好了,我们该怎样使用类呢,能直接用吗?当然不行了,我们前面也说了类只是一个抽象的概念,要想使用类中的属性和方法,还要有该类所对应的实例化对象才行😅。
对象的实例化
那么由于类属于引用数据类型,所以对象的产生格式(两种格式)如下:
1)格式一:声明并实例化对象
类名称 对象名称 = new 类名称 () ;
(2)格式二:先声明对象,然后实例化对象:
1 类名称 对象名称 = null ;
2 对象名称 = new 类名称 () ;
引用数据类型与基本数据类型最大的不同在于:引用数据类型需要内存的分配和使用。所以,关键字new的主要功能就是分配内存空间,也就是说,只要使用引用数据类型,就要使用关键字new来分配内存空间。
当一个实例化对象产生之后,可以按照如下的方式进行类的操作:
对象.属性:表示调用类之中的属性;
对象.方法():表示调用类之中的方法;
比如调用我们刚才创建的学生类:
class Student { String name; //学生类的属性 int age; public void eat() { System.out.println(name + "在吃饭"); // 学生类的行为(方法) } } public class TestDemo3 { public static void main(String[] args) { // 对象创建好后,该对象有类中全部的属性和(行为)方法 Student student1 = new Student(); // 通过new关键字创建了一个对象student1 student1.name = "张三"; // 给学生对象student1的姓名属性赋值 student1.eat(); // 调用学生对象的方法(行为) Student student2 = null; // 第二种定义方法 student2 = new Student(); student2.name = "小鱼儿"; // 给学生对象student2的姓名属性赋值 student2.eat(); } }
代码输出
可以看出这两种定义方式都是可以的, 我们在main方法中成功new(创建)了两个学生对象, 并通过"对象名.属性" 成功给他们赋了值, 通过"对象名.方法"成功的输出了类的行为:eat.
看到这, 你是不是觉得类和对象好像没什么难的?还挺简单的呀! 不不不, 现在我们只是刚刚知道了类和对象的基本概念和基本用法
还有很多用法我们还没提到, 不过不要着急, 让我们接下来一点点揭开类和对象他神秘的面纱,
我们下篇见