J2SE面向对象编程(灰常重要)

java 是纯的面向对象的语言,

面向对象就是说:把信息封装在对象类的内部,我们不用顾及 它是怎么实现我所要求的的功能的,但是只要它的内部代码能够实现这个功能就可以了。这就是面向对象。这个类暴露出来的就只有一个业务对象。

面向对象有一个比较核心的思维方式:合适的方法应该出现在合适的类中,当要实现一个功能的时候  我们想的不是怎么一步一步去实现它  而是 这里总共要抽象出几个 对象。


一、面向对象设计思想:

1.对象和类的概念:

对象:对象是计算机语言对问题域中事物的描述,对象通过其“属性”和“方法”来分别对应事务所具有的静态属性和动态属性。

类:是很多对象的抽象的概念。类可以看成是一个对象的模板。


2.面向对象解决问题的思路(三步):

(1)作为这个问题来说  在这个问题中 应该有哪些类 那些对象       (2)对于这些类 每个类应该包含什么样的属性和方法,   (3)考虑类和类之间具备什么样的关系


3.java与面向对象的关系:

(1)对象是java的核心,是一个类的实例,在java程序中  任何事物都是一个对象;

(2)对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体;

(3)类是用来创建同一类型的对象的模板。

即:成员变量=属性,方法=函数。


4.为什么要使用对象呢?

(1)对象提供对外的接口 ---通过继承复用;

(2)对象隐藏内部服务的实现----通过聚合可以复用;

(3)面向对象 使我们更加容易达到java 编程的理想境界:代码的可重用性Reusable、Extensibility、 维护和替换方便等等;


二、java中的面向对象与内存解析

1.类的定义:成员变量+方法;

2.成员变量:

(1)成员变量可以使用任何一种数据类型(基本类型+引用类型);

A 、byte,short,int long char float double boolean【四类八种】 ,

B、所有引用类型(null):一小块内存指向一大块内存:引用类型占用俩块内存空间,String s = new String("hello"); new出来的对象存储在堆内存

堆内存:在堆内存中装的是所有new出来的东西(堆的内存比较大  一般常用于动态分配

如何区分内存中的类和对象:

类时静态的,在代码区;

对象是new出来的 位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量),

方法只有在执行的时候才占内存。

所有的引用类型都是指针其实。

(2)可以在定义时候就初始化,或者不初始化 系统默认初始化值;

(3)成员变量的作用范围是:整个类体。

3.对象的创建和使用:

(1)必须使用new关键字创建对象;

(2)对象.成员变量  ---------引用对象的成员变量

(3)对象.方法 ---------引用对象的方法

(4)同一类的每个对象的值存在不同的存储空间;

(5)同一类的每个方法共享该类的方法.

4.构造函数

作用:初始化对象。(new+构造函数)

定义:与类名相同且没有返回值


未完待续......




你可能感兴趣的:(J2SE面向对象编程(灰常重要))