在java里有一句话叫:万物皆对向。也就是说这个世界上的存在的任何真实存在的事物,都可以叫做对象,这个对象可以是生物(人,动物等),也可以是非生物(桌子,椅子)。
我们应该都听过这样一句话,世界上没有两片完全相同的树叶,那么我们的对象也是具有唯一性的。
我们说:万物接对象,那无论是世界上的生物或者非生物,都有其属性和行为(能做什么),同样对象也同样具有属性和行为。
我们知道java是一门面向对象的语言,那什么是面向对象?除了面向对象又有哪些编程思想呢?
除了面向对象意外,面向过程(c语言)是另一个使用较多的编程思想。面向过程是讲关注点放在完成一件事或一个操作的流程(步骤)上,也就是说,它的思维是第一步该做什么,第二步该做什么,最后该做什么。举个例子,我想要喝水,那我应该先起身,然后走到杯子前,拿起杯子,最后喝水。也就是说,面向过程的功能实现是通过一步一步的数据传递(高耦合)来完成功能实现的
那面向对象又是什么呢?面向对象与面向过程不同,它是将关注点放在对象身上。也就是说他的思维是我要完成一件事,我应该有什么器官或者是什么属性。还拿喝水举例,我想要喝水,我应该有手可以拿杯子,有腿可以走到杯子前,有嘴来喝水;对杯子而言应该可以被拿起来,且杯子里有水。也就是说,面向对象的的功能实现是通过对象的属性和行为来进行实现的
1.封装
2.继承
3.多态
我们来对比一下面向对象和面向过程,如果说我起身之后,不想喝水了,我想出去散步了,那对于面向过程而言,起身之后的操作就都需要进行更改,甚至是完全重写。而面向对象中的对象(人)的腿属性就可以完成散步这个动作(行为),更改起来更为简单。提高了系统的可维护性。
同我们的生活相似,一个人(对象)是人类的组成元素,人类是所有人(对象)的集合。在java中是一样的,类是一组具有相同属性和行为的对象的抽象。
创建方法:引用数据类型(类名) + 变量名 = 具体对象
类是对象的抽象,对象是类的实例。
成员变量是用来定义对象的属性的,所以成员变量是属于对象的。
局部变量用于具体方法中的运算当中,所以局部变量属于方法,且超出起定义的方法外会失效。
不是,有static修饰的方法不需要创建对象也可以调用。static意为静态的,有static修饰的方法会长期存储在内存当中,不会消失,所以不需要通过对象调用其方法。而没有static的方法,在是不会长时间存在于内存当中的,所以在使用时,需要创建对应的对象才能进行调用。那为什么我们不全写static修饰的方法呢。当static过多时,因为其会在内存中一直存在,所以会一直占用内存,导致系统越来越慢,所以我们需要尽量减少static的使用。