Java面向对象一
1、面向对象和面向过程
面向对象考虑的是有几个对象,对象直接如何访问,对象能干什么;面向过程考虑的是过程和步骤。
例:开车去北京旅游
面向过程:1、打开车门 2、启动 3、经过XX
面向对象:车(开车去北京)
2、基本概念
对象——在JAVA眼中,一切皆对象。(对象是具体存在的)
对象的组成——属性(名词—成员变量)、行为(动词—方法)
类——对象的模版。具有相同属性和行为的一组对象的集合。(类是抽象的概念)
在同一个文件中,只能有一个类是public的(包含main方法的类)。
构造方法——最大的作用就是用来创建对象的。另一个作用——初始化成员变量。
构造方法的特殊:
1)、与类名相同
2)、没有返回值类型,连void也没有
3)、每一个类都有一个隐式的构造方法(没有参数、方法体)
4)、当手动添加一个显示的构造方法是,隐式的构造方法就不存在了。
5)、构造方法只能和new关键字一起使用。
3、面向对象的考方式:
1)、先找有几个对象
2)、通过对象找出有几个类
3)、找出每个类中的属性和方法
4)、调用方法实现功能
4、专家模式:方法改变的是谁的状态(属性的值),方法就属于谁。
改变对象的状态其实就是改变对象的属性的值。例如:车由高速行驶状态变为停车状态,就是车的speed属性的值由100变为0。
5、引用数据类型(类、数组等)
基本数据类型变量中保存的是真实的值。
引用数据类型中保存的不是真实的值,而是保存的对象在堆中的内存地址,通过地址可以找到真实的对象,所以这个变量并不是真正的对象,而是对象的引用。

6、JAVA内存分为:
1)、code segment(代码区) 字节码
2)、heap segment(堆区)
对象
3)、stack segment(栈区)
局部变量
4)、static segment(静态区)——属于栈区的一块特殊区域,数据不能重复
静态的变量和字符串常量
7、堆和栈的区别:
堆可以保存大数据的内容,但是速度慢;栈可以保存小数据的内容,速度快。
8、通过使用this指针解决成员变量和局部变量同名问题,this指针相当于当前对象的引用。

浙公网安备 33010602011771号