java中什么时候用静态 ,好处是什么?
2015-12-05 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
/*
static(静态\修饰符)
1. static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。
静态成员变量的访问方式:
方式1: 可以使用对象进行访问。
格式: 对象.变量名。
方式二: 可以使用类名进行访问。
格式: 类名.变量名;
注意:
1. 非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。
2. 千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候
才使用static修饰。
static修饰成员变量的应用场景: 如果一个数据需要被所有对象共享使用的时候,这时候即可好实用static修饰。
2. static修饰成员函数:
*/
class Student{
static String name; //非静态成员变量
static String country = "中国"; //静态的成员变量
public Student(String name){
this.name = name;
}
}
class Demo10 {
public static void main(String[] args)
{
Student s1 = new Student("狗娃");
Student s2 = new Student("狗剩");
//System.out.println("国籍:"+ Student.country);
System.out.println("名字:"+ s1.name);
System.out.println("名字:"+ s2.name);
}
}
展开全部
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子
Java代码
public class WeekA{
static class Data {
private int week;
private String name;
Data(int i, String s) {
week= i;
name = s;
}
}
Data weeks[] = {
new Data(1, "Monday"), new Data(2, "Tuesay"), new Data(3, "Wednesday"), new Data(4, "Thursday"), new Data(5, "Friday"), new Data(6, "Saturday"), new Data(7, "Sunday")
};
public static void main(String args[]) {
final int N = 10000;
WeekA weekinstance;
for (int i = 1; i <= N; i++){
weekinstance = new WeekA ();
}
}
} 来源:考试
希望对你有所帮助
Java代码
public class WeekA{
static class Data {
private int week;
private String name;
Data(int i, String s) {
week= i;
name = s;
}
}
Data weeks[] = {
new Data(1, "Monday"), new Data(2, "Tuesay"), new Data(3, "Wednesday"), new Data(4, "Thursday"), new Data(5, "Friday"), new Data(6, "Saturday"), new Data(7, "Sunday")
};
public static void main(String args[]) {
final int N = 10000;
WeekA weekinstance;
for (int i = 1; i <= N; i++){
weekinstance = new WeekA ();
}
}
} 来源:考试
希望对你有所帮助
追问
静态常量是分配到静态内存中的,我知道怎么用,就是不知哪个时候用,为什么要用?
追答
静态方法是类方法,不需要去实例化类就可以调用这个方法,静态方法内部使用的是静态变量,这些就相当于全局变量,有类就有方法。它可以不创建类的实例而被调用。但是静态方法是要占用内存的,而且如果全都是静态方法,那么你的类也确实没什么必要了。有个参考资料你可以看下,是别人的回答
参考资料:http://wenwen.soso.com/z/q140812055.htm
楼主问的“为什么要用”其实是没什么意义 用不用只是在个人,如果又一个方法在系统中经常被用到可以考虑用静态的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给楼主一个建议,系统的学习一下java。我看的是thinking in java,里面有介绍这部分的,说的是静态的内容并不是完全符合面向对象的思想,但是在很多方面是非常必要的,比如效率方面等等。书里面有很多的例子,具体说明了。这里回答的也只是很片面,不能具体的说明。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static主要左右用两个:
1.用于表示所有实例都相同的属性
2.java中没有全局变量,需要用到的时候可用一个静态类实现
1.用于表示所有实例都相同的属性
2.java中没有全局变量,需要用到的时候可用一个静态类实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当你一个成员变量在全局中多次使用,而且该变量的值是固定的,这个时候就要用到static来声明变量了。
至于为什么呢,因为你在做项目时,内存的合理使用是很重要的,一个变量声明了static 之后,无乱多少个方法调用它,它在内存中只占用了一个内存,而没有声明,一个方法调用一次,它就占用一次内存。
至于为什么呢,因为你在做项目时,内存的合理使用是很重要的,一个变量声明了static 之后,无乱多少个方法调用它,它在内存中只占用了一个内存,而没有声明,一个方法调用一次,它就占用一次内存。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询