类方法和实例方法的区别有哪些
我们已经知道类体中的方法分为实例方法和类方法两种,修改后的就是类方法。下面我们来看看类方法和实例方法的区别。
类方法和实例方法的区别
当一个类创建一个对象时方法,该对象可以调用该类的方法。当类的字节码文件加载到内存中时,不会为类的实例方法分配入口地址。当类创建对象时,会为类中的实例方法分配入口地址,以便该类创建的任何对象都可以使用该实例方法。对象调用执行。
需要注意的是,当我们创建第一个对象时,为类中的实例方法分配入口地址,而当再次创建对象时,不再分配入口地址,即方法是由所有对象分配的,对象是共享的,当所有对象都不存在时,取消方法的入口地址。
对于类中的类方法,当类加载到内存时,会分配对应的入口地址。因此,类方法不仅可以被该类创建的任何对象调用和执行,还可以通过类名直接调用。类方法的入口地址直到程序退出才取消。
类方法的入口地址是在类的字节码加载到内存时分配的。所以Java语言允许通过类名直接调用类方法,而不能通过类名调用实例方法。
我们在讲类的时候强调,在Java语言中,类中的类方法不能操作实例变量,也不能调用实例方法。这是因为在类创建对象之前还没有分配实例成员变量。内存,实例方法没有入口地址。
下面小编给大家举个例子来说明这两种方法的区别
A级
{ 整数 x,y;
float f(int a){}
float g(int x1,int x2){}
}
B类
{ void main(args[])
{ A a1=新 A();
A.f(2,3); //合法。
a1.f(2,4); //合法。
a1.g(2,5); //合法。
A.g(3,2); //非法。
}
}
实例方法介绍
实例方法也称为对象方法。
类方法属于整个类,而实例方法属于类的一个对象。
因为类方法属于整个类,不属于类的任何对象,所以类方法的方法体不能包含与类对象相关的内容。即类方法体有如下限制:
(1)类方法中不能引用对象变量;
(2)类的对象方法不能从类方法中调用;
(3) 类方法中不能使用 super 和 this 关键字。
(4)类方法不能被覆盖。
遵循这些限制将导致程序编译错误。
与类方法相比,对象方法的局限性很小:
(1)对象方法可以引用对象变量和类变量;
(2)对象方法可以调用类方法;
(3) super 和 this 关键字可以用在对象方法中。
在编程中,一些通用的和公共的方法与类的对象无关,所以它们经常被实现为类方法。如Java类库中的Math类,大部分数学运算都定义为静态方法。因此,您可以使用类方法将一些常用的、公共的方法放在适当的类中方法,以便它们井井有条。应用程序中的主要方法是类方法。
例子:
类文员{
int ;//员工编号
;//员工姓名
;//工资
int =1000;//下一个员工编号
=280;//示例4-11
文员(姓名,){
=++;
// =++;
=新的(名称);
// =名字;
=;
}
}
类
{
void main([]args)
{
文员=new Clerk("张三",892.5);
文员=new Clerk("李四",1025.8);
aName=new(“网舞”);
文员=新文员(aName,2000);
.out.("姓名:"+.+"人数:"+.+"工资:"+.);
.out.("姓名:"+.+"人数:"+.+"工资:"+.);
.out.("姓名:"+.+"人数:"+.+"工资:"+.);
.out.("最低工资:员工 1="+.);
.out.("最低工资:员工 2="+.);
文员.=330;
.out.("养后");
.out.("最低工资:员工 1="+.);
.out.("最低工资:员工 2="+.);
}
}
你可以参考这个源码程序,然后自己把注释掉的语句取消注释等等,运行起来就明白了。
Java 中的类方法
一、构造函数
(byte[ ] bytes):从字节数组构造字符串对象。
(char[ ] value):从 char 数组构造字符串对象。
(Sting):构造一个副本。即:复制一份。
( ):从数组构造字符串对象。
例子:
byte[] b = {'a','b','c','d','e','f','g','h','i','j'};
char[] c = {'0','1','2','3','4','5','6','7','8','9'};
sb = 新 (b); //
= new (b,3,2); //de
sc = 新 (c); //
= new (c,3,2); //34
= 新的 (sb); //
.out.("sb:"+sb);
.out.(":"+);
.out.("sc:"+sc);
.out.(":"+);
.out.(":"+);
输出结果:sb:
:de
sc:
:34
:
猜你感兴趣:
1.提高记忆力的几种方法
2.家务有哪些种类和分类方法
3.ajax 调用 java 方法
4.昙花的栽培方法及注意事项
5.创业类型及案例