Java中static的用法解析
知识点
1.static关键字
a.可以修饰变量,方法,代码块
b.修饰的变量和方法可以使用类名.变量名/类名.方法名调用
c.static修饰的资源为静态资源,在类加载的时候执行
d.在静态方法中只能调用静态资源
e.静态代码块的作用就是加载一些静态资源(IP,图片)
在这里就用几个有代表性的代码实例进行简单说明吧,这样或许能够更好地理解;
案例一:
//用于修饰工具方法
public class StaticDemo {
//在创建对象时赋值属性时才会被创建
private static String info="今天天气真好";
//static修饰的静态变量在类加载时就会存在(.java文件->.class文件)
public static void function(){
int num=10;
System.out.println("静态方法被调用!"+info+num);
}
public static void main(String[]args){
StaticDemo.function();
}
}
♦在案例一中,我们发现当原本是StaticDemo中私人属性的info只有在加上static修饰符之后才能被之后function构造方法调用;
♦而function()中创建的num因为属于局部变量,是在所属构造方法在被创建时一同创建的而不用再次强调使用static修饰。
案例二:
public class StaticDemo02 {
int i=0;
static int j=0;
public StaticDemo02(){
i++;
j++;
}
public static void main(String[]args){
StaticDemo02 s1=new StaticDemo02();
System.out.println(s1.i);
StaticDemo02 s2=new StaticDemo02();
System.out.println(s2.i);
StaticDemo02 s3=new StaticDemo02();
System.out.println(s3.i);
System.out.println(StaticDemo02.j);
}
}
♦在案例二中我们可以更加清楚地认识到只有在用static修饰变为静态资源后才能不被new关键字干扰;
♦其实在这里为了方便理解,我们可以把用static修饰过后的一般变量看作一种特殊的常量,就像1、2一样,但又不同于一般普通常量,
我们把这种常量称之为静态变量;
另外关于构造方法、代码块和静态代码块在类中谁先执行的问题,我们也同样可以用这样一个较简单的办法测试出来;
public class StaticDemo03 {
public StaticDemo03(){
System.out.println("构造方法被执行");
}
{
System.out.println("代码块被执行");
}
static{
System.out.println("静态代码块被执行");
}
public static void main(String[]args){
StaticDemo03 sd=new StaticDemo03();
}
}
当然结果可想而知,静态代码块是最先被创建的,而构造方法和一般代码块的执行顺序相差无几。
——————————————————小 结——————————————————————
还是把最主要的static说明用一张表做出来最好了^.^
明天继续更新!
Java中static的用法解析的更多相关文章
- Java中static的用法,初始化块
使用 Arrays 类操作 Java 中的数组语法: Arrays.sort(数组名); 可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该 ...
- Java中static的用法
static静态,作为修饰符,最初是由c引入,一开始static表示退出一个块后依然存在的局部变量.随后,static表示不能被其他文件访问的全局变量和函数.到了C++和java,static表示属于 ...
- 【转】Java中static关键字用法总结
1. 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 声明为static的方法有以下几条限制: · 它们仅能调用其他的static 方法. · 它 ...
- 【java_需阅读】Java中static关键字用法总结
1. 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 声明为static的方法有以下几条限制: · 它们仅能调用其他的static 方法. · 它 ...
- Java中static关键字用法总结
1. 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 声明为static的方法有以下几条限制: · 它们仅能调用其他的static 方法. · ...
- java中static关键字的解析
静态的特点: A:随着类的加载而加载 B:优先于对象而存在 C:静态是被所有对象共享的数据 这也是我们来判断是否使用静态的标准 D:静态的出现,让我们的调用方式多了一种 类名.静态的内容 非静态的内容 ...
- Java类中static的用法
关于Java中static的使用有以下四种情况: 1.静态成员变量 被static修饰的成员变量,叫静态成员变量或类变量:没有被static修饰的变量,叫实例变量. 两者的区别是: ...
- java中this的用法?
2008-07-28 08:10cztx5479 | 分类:JAVA相关 | 浏览4533次 java中this的用法? import java.awt.*; import java.awt.even ...
- 转:十八、java中this的用法
http://blog.csdn.net/liujun13579/article/details/7732443 我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它, ...
随机推荐
- JAVA用QRCode生成二维码
QRCode jar下载地址: 生成:http://www.swetake.com/qrcode/index-e.html 读取:https://zh.osdn.net/projects/qrcode ...
- .NET开发人员遇到Maven
由.NET转向Java开发,总是会带着.NET平台的一些概念和工具想着在对应的Java平台是否也有着相同的解决方案.第一次用Maven随手打开pom.xml,看着里面许多属性描述我的感觉就是这是一个M ...
- ArcGIS map preview in Power BI service
登录PowerBI网站:www.powerBI.com 点[设置],如下图: 找到[适用PowerBI的ArcGIS地图(预览)] 点击[应用]即可. 打开PowerBI DestTop客户端,找 ...
- [python]socket.listen(backlog)中的backlog含义
http://www.nosa.me/2015/09/16/socket-listenbacklog-%E4%B8%AD-backlog-%E6%8C%87%E7%9A%84%E6%98%AF%E4% ...
- mock---前端搭建模拟服务
在做前端开发接口的时候,往往接口都是从后端来的,这让前端很苦恼,但是有了 MockServer ,前端也可以搭建API服务了. server-mock是什么? 是一款nodejs的应用,用于搭建web ...
- 案例源码解读及思路:RabbitMQ在springboot中的配置
程序员的高级之处不是什么都会,而是对自己不会的进行抽象,然后完成自己的工作.比如对于RabbitMQ,按照字面理解,就将其看成Message Queue,也就是用来容纳对象的集合.很多功能都拆分给一个 ...
- Jquery 获取 radio选中值,select选中值
随着Jquery的作用越来越大,使用的朋友也越来越多.在Web中,由于CheckBox.Radiobutton .DropDownList等控件使用的频率比较高,就关系到这些控件在Jquery中的操作 ...
- bypass safedog upload
这里附上两个payload: Content-Disposition: form-data; name=”up_picture”; filename=”[回车]1.php” Content-Dispo ...
- Prime Flip AtCoder - 2689
发现我们每次区间取反,相邻位置的正反关系只有两个位置发生改变 我们定义bi为ai和ai-1的正反关系,即ai=ai-1时bi=0,否则bi=1,每次取反l~r,b[l]和b[r+1]会发生改变 容易发 ...
- fat32转ntfs命令
1.打开电脑左下角的 “开始” 菜单2.鼠标左键单机 “运行”3.弹出横框输入 cmd 后,确定4.弹出黑框输入 convert E:/FS:NTFS 然后回车5.提示输入盘符名,也就是你输入D盘的名 ...