java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

一、面向对象的核心思想:分类

二、面向对象分析

例:给传智播客北京校区做一套系统,要求能记录学员信息,教师信息、员工信息、课程、班级、正在上课的班级

1、要明确系统中要记录那些信息

java基础班学员:学科、学号、姓名、性别、年龄

IOS班学员:学科、学号、姓名、性别、年龄

javaEE班学员:学科、学号、姓名、性别、年龄

……

java基础班讲师:编号、学科、姓名、性别、年龄

IOS讲师:编号、学科、姓名、性别、年龄、

javaEE讲师:编号、学科、姓名、性别、年龄

……

学前咨询的员工:

……

2、将上述信息进行分类,禀明企鹅每个类中的具体成员

2.1

学员类:

学科:

学号:

姓名:

性别:

年龄:

2.2

讲师类:

编号:

学科:

姓名:

性别:

年龄:

2.3

员工类:

……

3、面向对象开发:

三、类的定义

1、多个类可以定义到同一个.java文件中,但是一个.java文件中只能有一个public类

2、类体中只能定义属性和行为,其他的语句都不能直接放在类体中

int a;

a = 10;

以上两条语句可以出现在方法中,但不能出现在类体中,即a只能作为局部变量被定义

3、属性:定义为成员变量,定义在类体中,存放在堆里面,成员变量可以自动初始化

4、行为:定义为成员方法,可以有返回值和形参,也可以没有

5、一个类生成一个.class文件

四、类的实例化

1、当我们实例化多个对象时,会在对空间为每个对象单独开辟一块空间,但内部值存储”成员变量的值;

2、方法被存储在方法区内,而且只有这一个空间,被多个对象共享。

3、多个对象会调用一个方法,虚拟机需要判断是哪个对象调用的,在调用时,有个“动态绑定”过程

4、如果在方法体内访问成员变量,通过一个隐式的关键字“this”来区分

五、成员变量与局部变量的比较

1、成员变量定义在类体中,可以是任何的java数据类型

局部变量第一在方法中,可以是任何的java数据类型

2、区别:

1、定义的位置

成员变量:类体中

局部变量:方法中

2、内存中的位置

成员变量:堆中

局部变量(基本数据类型):栈中

3、生命周期

成员变量:实例化一个对象时,在堆中产生,如果没有任何引用来引用这块空间,后期由垃圾回收器不定期检查并回收

局部变量:当所在的作用域代码块被执行,变量产生空间;当变量所在的作用域代码块执行完毕,会被立即从栈中被清掉

4、初始化方式和初始化值:

成员变量:由java自动初始化

局部变量:必须手动初始化

六、匿名对象

1、没有名字的对象

new Student()

2、有些时候,我们在以下情况下,可以使用匿名对象的方式:

2/1 类中的某个方法只需要调用一次

2/2

如果某个方法需要“某个对象的引用”,也就是形参是某个对象的引用,如果我们调用方不需要这个,只需要给方法传递一个引用即可,这时可以使用匿名对象

java面向对象

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。