我们在谈JAVA的时候,常常说到JAVA是一门面向对象的编程语言,那什么是面向对象呐?

面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。

我们完成一件事情可以逐过程,比如我们洗衣服,就会经历下面的每一步:拿个盆子——放水——放衣服——放洗衣粉——手戳——换水——放洗衣粉——手搓——拧干——晾衣服。当然我们也可以逐对象,上面洗衣服的过程就可以简化为:人——衣服——洗衣粉——洗衣机。我们对比一下上面两种洗衣服的步骤就可以发现,面向过程和面向对象都可以帮我们解决问题,但是面向过程解决问题比较繁琐,中间缺失那一步都不行,并且换一个对象比如洗鞋子就要另一种方式,显然在解决实际问题中很不方便。而面向过程就大大解决了问题的解题步骤,他依靠对象之间的相互交互实现,在后面过程的维护和增删都容易实现,上面就是面向对象的好处。



我们既然能用面向对象的思想解决问题时,那么我们就需要对象。那什么是对象呐?对象就是我们在解决问题当中一个个的实例
,比如上面洗衣服当中的人、洗衣机、洗衣粉。谈到对象我们就不得不讲到类
,类是什么呐?举个例子,我们将书本、笔、直尺、橡皮檫归类为学习工具,它们就是一个类,类就相当于一系列具有类似特征的相同事物的统称,再比如人、猫、狗...。而在计算机当中,我们
将类说为数据类型,比如整型、字符串型、浮点型。只不过这里的数据类型是我们自己定义的,这有点像C语言当中的结构体。
就像上面讲的,我们在定义一个类(自定义数据类型)的时候,我们要用到它的属性和行为,比如,定义一个人,我们就需要知道这个人的姓名、年龄、性别、身高、体重...这些我们称为属性,我们还需要知道这个人所具有的的行为:吃饭、睡觉、学习...

所以我们的类就可以表示成下面的形式(以定义人为列):
class 类名{ //属性(或者叫做成员变量) String name; //名字 int age; //年龄 double weight; //体重
... //行为(或者叫做方法) eat(); //吃饭 sleep(); //睡觉 study(); //学习 ... }
对象

上面讲了,对象就是对象就是我们在解决问题当中一个个的实例

比如:
People p1 = new People(); 上面的p1就是对象(严格说是对象名或者对象引用,new
People()创建的对象空间(数据)才是真正的对象)
上面了解了什么是对象和类,我们用一个列子来实现一下对象的访问
public class Class_and_Object { public static void main(String[] args) { /** *
一个老太婆养了两只猫:一只叫做小白,3岁,白色; * 另一只叫做小花,100岁,花色。 *
请编写一个程序,当用户输入小猫名字时就显示该猫的名字、年龄、颜色。如果用户名字输入错误,则显示老太婆没有这只猫 */ //new
Cat()意为创建一只猫(猫对象) //Cat cat1 = new Cat()意为把创建的猫赋给cat1
//cat1就是一个对象(严格的说是一个对象引用或者对象名,new Cat()创建的对象空间(数据)才是真正的对象) Cat cat1 = new
Cat(); cat1.name = "小白"; cat1.age = 3; cat1.color = "白色"; cat1.weight = 10; Cat
cat2 = new Cat(); cat2.name = "小花"; cat2.age = 100; cat2.color = "花色";
cat2.weight = 20; //访问对象的属性/行为 System.out.println("第一只猫的信息:"+cat1.name+"
"+cat1.age+" "+cat1.color+" "+cat1.weight);
System.out.println("第二只猫的信息:"+cat2.name+" "+cat2.age+" "+cat2.color+"
"+cat2.weight); } } //创建一个猫类(创建一个自定义数据类型) class Cat{ //属性(成员)变量 String name;
//名字 int age; //年龄 String color; //颜色 double weight; //体重 //... //行为 //... }
结果展示:

技术
©2019-2020 Toolsou All rights reserved,
TypeScript:函数类型接口8道大厂指针笔试题让你秒杀指针!!!MySQL 日期时间加减mysql 查询条件之外的数据_mysql 查询符合条件的数据查linux的操作系统版本,如何查看Linux操作系统版本?将String类型转换成Map数据类型使用uuid做MySQL主键,被老板,爆怼一顿C语言中的字符串函数和字符函数linux服务器中毒排查--基础篇C# ASCII码字符转换