问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA编程中static的用途与用法

发布网友 发布时间:2022-04-25 00:48

我来回答

3个回答

热心网友 时间:2023-08-30 15:05

1修饰符static
1)静态类变量(修饰成员变量):
1.Static int data语句说明data为类变量,为一个类的共享变量,是所有对象共享的,它不
属于任何对象,是属于整个类的(静态方法也是一样)。
2.Static定义的是一块为整个类共有的一块存储区域。
3.其变量可以通过类名去访问:类名.变量名(与通过对象引用访问变量是等价的)。
2)静态方法(修饰方法):
1.Public static void printData(){}:表明此类方法为类方法(静态方法),访问是在编译期
完成,执行效率比较高。
2.静态方法不需要有对象,可以使用类名调用(不需要实例也可以调用静态方法)。3.静态方法中不能访问类的非静态成员,包括成员变量和方法;只能访问本类中的静态
变量和其它静态方法。因为此时是通过类调用的,没有对象的概念。方法中this.data和
super.data是不可用的。
原因:从根本上说,静态变量不管类是否实例化都会存在,而实例变量只有类实例化了
才存在。直接调用静态方法时并不确定实例变量是否存在。
4. 一般情况下,主方法是静态方法,所以JVM可以直接调用它,主方法为静态方法是因
为它是整个软件系统的入口,而进入入口时系统中没有任何对象,只能使用类调用。
5.静态方法不能被覆盖,如果子类中有和父类重名的静态方法,虽然编译通过,但它并
不能实现多态,所以不能称作覆盖。例如:class Super{
static public void show(){System.out.println("in Super");}
}class Sub extends Super{
static public void show(){System.out.println("in Sub");}
}
public class Test {
public static void main(String[] arg) {
Super s = new Sub();
s.show();
}
}
执行结果是: in Super3)静态代码块(修饰没有名字的代码块):
1.只被执行一次;
2.初始化块在类被加载后首先被运行,不管类是否实例化,而且只执行这一次
3.作用:一般用来初始化一些复杂类型的静态变量。
4)静态内部类(注意:只能修饰成员内部类):
class Out{
public static class Inner{}
}5)Static通常用于Singleton模式开发:
Singleton模式(单例模式):是一种设计模式,高于语法,可以保证一个类在整个系统
中仅有一个对象。
1.问题域:
系统中你需要获得某个类的唯一实例,所有客户端对它的访问都将通过一个公共的访问点获得。
2.解决方案:创建一个类并使其
a.定义一个私有的构造器;
b.定义一个私有、静态的实例变量指向自己(类型是自己的类型);
c.定义一个公有、静态的访问方法getInstance()用于返回该类的唯一实例(注:
懒汉式需同步)。 3.分类:
a.饿汉式:在类装载的时候就进行实例化;
b.懒汉式:在公有、静态的访问方法(同步:用synchronized修饰)中进行实例化,
用的多一些。 实现1:
public class ConnectionFactory{
private static Connection conn;
private Connection(){
if(conn==null)
conn = new Connction();
}
public Connection getInstance(){
return conn;
}
}实现2:
public class ConnectionFactory{
private static Connection conn;
static{
conn = new Connection();
}
public static Connection getInstance(){
return conn;
}
}

热心网友 时间:2023-08-30 15:06

static 静态的意思. 也就是说它修饰的变量是静态的,它单独占一个内存空间. 而且他只存在一个.所有修改的static 修饰的变量都是改的一个变量 比如i=1的时候. 你在a函数给i+1 i就是2.你在b函数再写i+1; i的值就会变成3,因为i在内存中只存在一个. 修饰方法也是一样的道理. 当你希望这个变量在整个程序中只存在一个的时候 就用 static 修饰 回答完毕!

热心网友 时间:2023-08-30 15:06

对,是那样的,它类似全局变量,在程序开始到结束一直存在,,好占内存,个人建议少用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 南水北调与水利科技的基本信息 java中静态代码块 static的作用 急需,高分!【让青春在全市水利现代化建设中*澎湃】的演讲稿 java static作用 水利科学发展观征求意见 自己制作烤鱼的方法? 超简单干香烤鱼怎么做 java中static的作用是什么? 烤鱼干的做法,烤鱼干怎么做好吃,烤鱼干的家常 微波炉烤鱼干的做法,微波炉烤鱼干怎么做好吃 怎么做好吃的烤鱼干 java中static作用是什么? 碳烤鱼干的做法 烤鱼干的做法,烤鱼干怎么做好吃,烤鱼干的家常做法 想在长安信托设立我的家族信托,怎么样呢? 家族信托发展前景怎么样? 长安信托兑付的家族信托业务怎么样? 我们家腌咸菜总是用一种叫‘腊嗒’的蔬菜,外形像萝卜,表面比萝卜粗糙,不知道它的学名叫什么? 潮汕地区的咸菜是什么菜腌制的 有种蔬菜绿色的皮,脆的,实心的,圆的经常腌咸菜用的,叫什么? 天津水务集团有限公司引江市区分公司怎么样? JAVA里 static什么作用? 天津水务集团有限公司引江市南分公司怎么样? 请大神解释一下java中static的作用和意思,请不要弄网上的概念来回答。谢谢 广东江河水务有限公司怎么样? java static作用是什么? 江西省水利科学研究院待遇 天津市水务局待遇 天津水利工程公司待遇怎么样? 天津市水利科学研究院的主要成就 什么是中试试验? 今年政府工作的九项重点任务是? 杨劲松的主要成果 长江科学院院报刊物的定性 急需用钱想从银行贷款,哪家银行的贷款利息最低呢? 四季优美景色的好句 最近急需用钱,希望大家推荐一个利息低一点的平台! 急需用钱怎么贷款 描写四季美景的优美好句 描写四季的好句好段