java类与对象
1.在面向对象中类和对象是最基本、最重要的组成单元.
类:表示一个客观世界某类群体的一些基本特征的抽象,属于抽象概念的集合.
对象:表示一个个具体的事物,如李四、张三的汽车、芷若、可以使用的事物,就可以理解为对象,所以对象表示的是一个个独立的个体.
在现实生活中,人表示为一个类,因为人本身属于一种广义的概念,并不是一个具体的描述。而具体的人,如“芷若同学”,就可以称为对象。
属性:在对象(芷若)中,可以通过各种信息完整地描述这个具体的人,如这个人的姓名、年龄、性别等信息,那么这些信息在对象的概念中就成为属性.
方法:描述对象(芷若)时,她当然可以吃饭、睡觉、那么这些人的行为就在类中称为方法.
结论:如果要使用一个类,就一定有产生对象,“类是对象的模板,对象是类的实例”,每个对象之间是靠各个属性的不同来进行区分的,而每个对象所具备的操作就是类中规定好的方法.
2.类与对象的定义
从上面的概念中可以理解,类是由属性和方法组成的.属性中定义类一个个的具体信息,实际上一个属性就是一个变量,而方法是一些操作的行为。
属性也可以成为成员.
类中的属性实际上相当于一个个变量,有时候也称之为Field(成员).
class 类名称{
数据类型 属性(变量);
...... //声明成员变量(属性)
public 返回值的数据类型 方法名称(参数1,参数2...){
程序语句; //定义方法的内容
[return 表达式;]
}
}
3.定义一个Person类,里面有两个属性:name和age,后面定义了一个tell()方法,可以输出这两个属性内容.
这里方法没有加static,这是因为没有在主类当中调用,如果在主方法直接调用方法必须加上static,我们这里的方法将会由对象调用,与之前的调用形式不同,所以暂时没有加上.
如果是对像调用的方法定义时不加static,如果不是由对象调用的方法才加static.
类定义完成之后,肯定是无法使用,如果要使用,必须依靠对象,那么由类属性引用的数据类型,所以对象产生格式如下.
如果不明白下面有代码讲解哦
格式一:声明并实例化对象.
类名称 对象名称 =new 类名称 ();
格式二:分步完成.
声明对象 类名称 对象名称=null;
实例化对象 对象名称=new 类名称();
4.因为类属性引用数据类型,所以只要是引用数据类型的实例化操作,永远都必须使用关键字new 进行空间分配后才可以使用.当实例化产生后,可以如下进行类的操作.
对象.属性:表示调用类之中的属性;
对象.方法():表示调用类之中的方法.
5.格式一 代码讲解,在Person类里面,声明实例化对象,使用对象操作类.
运行结果如下
6.格式二 代码讲解,在Person类里面,分布式完成.
7.给出两种不同实例方式有什么区别呢?
为了引入内存分析方便,首先给出两块内存空间
堆内存(真正数据(属性)):保存对象的真正数据,都是每一个对象的属性内容;
栈内存(地址(名字)):保存的是一块堆内存的空间地址,所以每一块栈内存只能够保留一块堆内存地址.简单理解将栈内存中保存的数据理解为对象的名称.
如果想要开辟堆空间,只能依靠关键字new来进行开辟,即只要看见关键字new,不管何种情况下,都表示要开辟新的堆内存空间.
注意:对象使用前必须首先进行实例化操作.
8.下面代码讲解
运行结果可以看出,使用了两种方式进行了对象的实例化操作,但是由于程序中出现了两次关键字new,所以会开辟两块不同的堆内存空间.
上一篇: Java的白盒测试—Junit使用
下一篇: Spring集成Junit单元测试框架