java在下面的两种情况下使用静态方法,谁能给我解释一下吗?
1.一个方法不需要访问对象状态,其所需参数都是通过显式参数提供(例如:Math.pow)2.一个方法只需要访问类的静态域(例如:Employee.getNextId)谁能...
1.一个方法不需要访问对象状态,其所需参数都是通过显式参数提供(例如:Math.pow)
2.一个方法只需要访问类的静态域(例如:Employee.getNextId)
谁能举例解释一下上面的两句话吗?谢谢! 展开
2.一个方法只需要访问类的静态域(例如:Employee.getNextId)
谁能举例解释一下上面的两句话吗?谢谢! 展开
2个回答
展开全部
静态的方法属于类方法,不管该类创建了多少对象,这些对象共享静态方法,当然也有静态域。
一般静态方法提供的都是工具式的计算。典型的是Math类,它的所有的属性和方法都是静态的,它的域是一些数学常量,根本不需要改变。他它的所有的方法的计算过程都是固定的,计算过程所需的数据要么来源于类的静态域要么是方法的参数。当然静态域可以在静态方法中使用。所以你要将这两句话连在一起想。
首先静态方法不能使用非静态的域,所以静态方法想使用方法以外的数据域,有两种途径:
第一:使用本类的静态数据域
第二:通过方法的显示参数传入
一般静态方法提供的都是工具式的计算。典型的是Math类,它的所有的属性和方法都是静态的,它的域是一些数学常量,根本不需要改变。他它的所有的方法的计算过程都是固定的,计算过程所需的数据要么来源于类的静态域要么是方法的参数。当然静态域可以在静态方法中使用。所以你要将这两句话连在一起想。
首先静态方法不能使用非静态的域,所以静态方法想使用方法以外的数据域,有两种途径:
第一:使用本类的静态数据域
第二:通过方法的显示参数传入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Math{
public static Math math;
public static final int pow = 9;
public staic void getMath(){
if(math==null){
math = new Math()
}
return math;
}
}
如果你有一个类想调用pow的值,不需要Math m = new Math() ;int pow = m.pow; 只需要Math.pow
如果你想调用这个类对象 不用new Math m = Math.getMath();
public static Math math;
public static final int pow = 9;
public staic void getMath(){
if(math==null){
math = new Math()
}
return math;
}
}
如果你有一个类想调用pow的值,不需要Math m = new Math() ;int pow = m.pow; 只需要Math.pow
如果你想调用这个类对象 不用new Math m = Math.getMath();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询