[java学习笔记]java语言核心----面向对象基础

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

1.面向对象概述面向对象是java语言的核心。是对应于面向过程而言的。

面向过程:强调的是过程,即动作。在java中动作就是函数。C语言就是面向过程的。如:把大象装进冰箱需要几步?

答:需要三步:

打开冰箱把大象装进去关上冰箱我们把上面的问题,用面对对象的思想来考虑。

我们把冰箱作为一个对象,它具备打开,存储,关闭的功能。这个时候,我们就只需要冰箱这个对象就可以完成把大象装进冰箱中。即,冰箱打开,存储,冰箱关闭。

面向对象的特点:面向对象是一种常见的思想,符合人们的思考习惯。面向对象的出现,把复杂的东西简单化了。面向对象的出现,让面向过程中的执行者变成了面向对象中的指挥者。2.类和对象的联系我们可以用类(class)来描述事物的特点,一般需要定义属性和行为。

如:我们可以创建一个Car类用来描述轿车类。

classCar{inttrieNum;//定义轿车类的轮胎数String paintColor;//定义轿车类的喷漆颜色//定义一个轿车行驶的行为voidrun(){

System.out.PRintln(trie+"个轮胎“+paintColor+”色的轿车正在行驶...");

}

}

接下来,我们使用new关键字来创建一个Car类的对象,来执行行驶的行为。

classTest{publicstaticvoidmain(String[] args){

Car myCar=newCar();//通过new关键字来创建一个Car类的对象,用Car类型的变量来接收myCar.trieNum = 4;//设置Car对象的轮胎数为4myCar.paintColor = "red";//设置Car对象的颜色为"red"myCar.run();//用创建的Car类对象来执行行驶方法}

}

程序运行的结果为:4个轮胎red色的轿车正在行驶...

注意:类的对象在堆内存中,所以类的属性都有相应的默认值,即使不设置轮胎数和颜色,也可以运行,结果为:0个轮胎null色的轿车正在行驶...

考虑如下代码在内存中分配

Car c1 =newCar();

Car c2=c1;

c1.trieNum= 5;

c2.paintColor= "red";

c1.run();

说明:第一句代码,在栈内存中创建一个Car类型的c1变量,接着在堆内存中创建一个Car类的实例对象,并分配一个地址值,在这个实例中,有两个变量,分别是int型的trieNum和String类型的paintColor并初始化为0和null;最后把这个地址值赋给c1.

第二句代码是说把c1的值,即指向堆内存中实例的地址值,赋值给c2,这样c1和c2同时指向了堆内存中的同一个实例。

然后用c1或c2操作时,其实操作的是一个对象,所以最后运行c1的run方法,得到的结果是:5个轮胎red色的轿车正在行驶...

3.局部变量和成员变量的区别1.作用域:

局部变量定义在函数,语句,局部代码块中,只有在所属的区域有效。成员变量定义在类中,整个类的范围都可以访问。2.内存中的分布:

局部变量存在于栈内存的方法区中。成员变量存在于堆内存中的实例对象中。3.存活的时间:

成员变量随着对象的创建而存在,随着对象的消失而消失。局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。4.默认初始化值:

成员变量都有默认初始化值。局部变量没有默认初始化值。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航