最接地气的通俗易懂理解java中类和对象(什么是类,什么是对象)
我们在上学读书的时候,大家都是一味的按照传统的教学方式学习,老师像在喂鸭子一样填鸭式教学,鸭子确实肥了,但是这样的鸭子却极为不健康。
中国的课本一个很大的问题就是,课本中的概念生硬晦涩难懂,说的都不是人话,如果把课本翻译成生活中通俗易懂的大白话,我相信是很好理解的,可惜天朝的教育界,只知道考试,分数,升学率,名气,绝大部分想的都是赚钱、名利、奖金。很少人想过如何把课本翻译成通俗易懂的大白话。
好了,不吐槽了,我只能说教条死板的课本和教育方式害人不浅,而大部分老师只是拿一份死工资,他们也懒得去创新和改变,因为这对他们来说没啥好处嘛,言归正传。
什么是类?
什么是对象?
我先不讲类和对象的概念。
我先问大家,你们最喜欢的明星有哪些?
你们最喜欢的电影有哪些?
我先说说我最喜欢的明星和电影吧。
我最喜欢的明星有周杰伦、杨幂、关晓彤、彭于晏
我最喜欢的电影有《战狼》、《少年的你》、《泰坦尼克号》、《哪吒之魔童降世》。
好了,上面的2个问题已经把类和对象讲清楚了。
通俗的讲:类就是指一类事物,对象就是指这类事物中的某个具体的个体。
上面讲的明星就是类,周杰伦就是明星类中的一个具体的明星。
同理,上面讲的电影就是类,《泰坦尼克号》就是电影类中的一部具体的电影。
所以:类是指一类事物,类是一种归纳和总结,是一种概括,是一个抽象的概念而已。
比如:我们把那些具有一定知名度、一定名气的人物称之为明星,说白了,类就是对一些具有相同特性的事物进行的归纳和总结。
再比如:我们把那些用胶片或存储卡记录的人物故事影像统称为电影,所以类就是对一些具有相同特性的事物进行的归纳和总结。
那对象是什么?对象指的就是这类事物中的某个具体的个体。就像上面讲到的,杨幂就是明星类中的一个具体的明星,《泰坦尼克号》就是电影类中的一部具体的电影,所以,杨幂就是明星类中的一个具体的对象(一个具体的明星对象),《泰坦尼克号》就是电影类中的一个具体的对象(一个具体的电影对象)。
就好比现实生活中,我们把长得帅长的漂亮的明星称之为偶像派明星,把长得不帅不漂亮的明星称之为实力派明星,把长得帅长的漂亮而且又很有实力的明星称之为偶像实力明星;
把长得漂亮的女人称之为美女,把长得丑的女人称之为丑女,把长得帅的男人称之为帅哥,把长得丑的男人称之为丑男;
把有钱的长的帅的又很高的称之为高富帅,把没钱的长得丑的又矮的称之为矮矬穷或者称之为屌丝;
把有钱有势有权位的人称之为政治权贵,把没钱没势又没权位的人称之为草民或者庶民;
中国习惯上把成绩好的学生称之为好学生,把成绩不好的学生称之为差生;
把读3年大学的称之为大专,把读4年大学的称之为本科;
把声名显赫的、分数要求高的学校称之为名校,把名不见经传,分数要求没那么高的学校称之为普通大学;
我们每天都在分类,正所谓物以类聚人以群分就是讲的分类,我们每天都在把各种各样的人或者事分成三六九等,尤其是在等级制度森严的中国,讲究派系。
好了,以上例子已经把类和对象讲清楚了。
下面讲讲怎么定义类,怎么创建对象,创建对象又叫做类的实例化。
我们把用类创建对象的过程称为实例化,是将一个抽象的概念类,具体到该类实物的过程。
如何定义类(定义类需要使用class关键字)
定义一个明星类
//明星类
public class SuperStar {
//姓名
private String name;
//国籍
private String country;
//年龄
private int age;
public static void main(String[] args) {
}
}
明星类中有姓名、国籍、年龄这3个属性,属性就是特征特性的意思,就是说这个东西有什么特征特性特点。
以上的明星类中我只列出了姓名、国籍、年龄这3个属性,其实还有其他的属性,我就不依次列举出来了。
如何创建对象
我们把用类创建对象的过程称为实例化
创建一个明星对象(创建对象也称之为类的实例化)
对象名字可以随便取,你可以把对象名理解成变量名。
给变量和对象取名字时,要注意什么?
取对象名/变量名时,只能是字母(a-z A-Z),数字(0-9),下划线(_)的组合,并且之间不能包含空格,并且不能以数字开头。
//明星类
public class SuperStar {
//姓名
private String name;
//国籍
private String country;
//年龄
private int age;
public static void main(String[] args) {
//创建一个明星对象(创建对象也称之为类的实例化)
SuperStar jay = new SuperStar();//我们把用类创建对象的过程称为实例化
}
}