面向对象编程一
时至今日,Me终于学习完了绝世武功的基本招式,今后的日子便开始研究其内功心法,希望在这高手如云的世道里,博得一方土地。
一、面向对象的发展
因为现实世界太复杂多变,面向过程的分析方法无法满足,因此面向对象应运而生,来解决这让人烦乱不堪的编程方式。
采用面向过程必须要了解整个过程,每个过程都有其相关执行过程,如果中间有任何一个步骤出现问题,都将会影响整个程序的进程。 而面向对象将现实世界分割成不同的单元,在实现某个功能时,只需要将各个对象结合其来就可以了。由于面向对象更符合人的思维模式,更容易的分析现实世界,所以在程序设计中也采用了面向对象的技术。
二、类与对象
类是对相同事物的抽象描述,通常由某些名词组成,如学生类、班级类、课程类、成绩类等。类的基本定义如下:
类修饰符 class 类名{
类体:属性和方法组成 }
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。基本定义如下:
类名 对象名 = new 类名();
综合案例代码如下:
public class Student { //成员变量 public String name; public int age; public int id; public void say(){ int score = 88;//局部变量 System.out.println("姓名:" + name); System.out.println("年龄:" + age); System.out.println("班级:" + id); } public static void main(String[] args) { //实例化对象过程 Student xixi = new Student(); //成员变量赋值操作 xixi.name = "zhangsan"; xixi.age = 24; xixi.id = 101; //调用成员方法 xixi.say(); } }
执行结果如下:

上述案例中,我们可以简单的了解到类的定义过程、对象的实例化过程、成员变量和成员方法的定义过程、调用过程。程序中say()方法中我们也定义了一个局部变量,通过比较得知,局部变量使用前必须初始化,而成员变量会默认初始化,初始化的值名为该类型的默认值。
成员变量默认值如下图所示:

三、内存分析
通过内存分析,我们可以很清楚的明白java程序的执行思路,如下图所示:

栈:1. 每个线程私有,不能实现线程间的共享 2. 局部变量放置于栈中。3. 栈是由系统自动分配,速度快!栈是一个连续的内存空间!
堆:1. 放置new出来的对象!2. 堆是一个不连续的内存空间,分配灵活,速度慢!
方法区:1. 被所有线程共享!2. 用来存放程序中永远是不变或唯一的内容。(类代码信息、静态变量、字符串常量)
四、构造器
构造方法主要用来创建类的实例化对象,可以完成创建实例化对象时成员变量的初始化工作。
声明格式: 构造方法修饰词列表 类名(方法参数列表){ //内容 }
1.构造方法名称必须与类名一致 2.构造方法无返回值,关键字void也不能加入,加入之后就变成普通方法了。 3.任何类都有构造方法,如果没有显示的定义,则系统会为该类定义一个默认的构造器,这个构造器不含任何参数。

浙公网安备 33010602011771号