java中static学习总结
<<java编程思想>>:
1、static方法就是没有this的方法。
2、在static方法内部非静态方法。
3、在没有创建对象的前提下,可以通过类本身来调用static修饰的方法。
a.static它的特性:只会在类加载的时候执行一次。static成员变量的初始化顺序按照定义的顺序进行初始化
b.static 代码块可以优化程序性能,它的特性:只会在类加载的时候执行一次。很多时候,初始化操作我们都放在静态块中。
练习:
1.this代表的是当前对象,static修饰的变量是被对象享有的。而方法里面的变量是局部变量,不能申明为static.
public class Test1 {
static int value = 88;
public static void main(String[] args) throws Exception{
new Test1().printValue();
}
private void printValue(){
int value = 99;
System.out.println(this.value);
}
}
执行结果为 88.
2.静态方法中不能访问非静态成员方法和非静态成员变量
private static int a=1;
private int b=1; public static void test1(){
System.out.println(a);
System.out.println(b); //1错误
test2();//2错误
}
public void test2(){
System.out.println(a);
System.out.println(b);
test1();
}
3.子类,父类静态代码块,构造方法执行顺序。
/**
* @author tangquanbin
*/
public class Dad {
static {
System.out.println("dad static");
} public Dad() {
System.out.println("dad constructor");
}
}
/**
* @author tangquanbin
*/
public class Son extends Dad {
static {
System.out.println("son static");
} public Son() {
System.out.println("son constructor");
}
}
/**
* @author tangquanbin
*/
public class Test { public static void main(String[] args) {
Son son = new Son();
}
}
输出结果:
dad static
son static
dad constructor
son constructor
java中static学习总结的更多相关文章
- Java学习笔记十七:Java中static使用方法
Java中static使用方法 一:Java中的static使用之静态变量: 我们都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的 ...
- java中static关键字的作用
java中static关键字主要有两种作用: 第一:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 简单来说,在Java语言中,s ...
- Java中static的用法,初始化块
使用 Arrays 类操作 Java 中的数组语法: Arrays.sort(数组名); 可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该 ...
- Java中static块执行时机
Java中static块执行时机 演示例子 在使用static进行初始化的操作,怎么也执行不了!代码如下: public class StaticDemo { public static final ...
- java中static变量和方法的总结
转自:http://blog.csdn.net/haobo920/article/details/5921621 java中static变量和方法的总结 java中一切皆是对象 一个类中对象的定义一般 ...
- Java中static final 与 final 的区别(转载)
转自:http://advance0683.iteye.com/blog/1107732 Java中static final 与 final 的区别: 例子: Java代码 import java.u ...
- Java中static修饰类的问题
Java中static修饰类的问题 众所周知,Java中static关键字可以修饰方法与变量: 修饰变量的时候,这个变量属于类变量,可以直接通过类名.变量名来引用. 修饰方法的时候可以直接通过类名.方 ...
- Java 中 static 的作用
static 关键字的作用 在 Java 中 static 关键字有4种使用场景,下面分别进行介绍: 1.static 成员变量 public class Student { // 静态成员变量 pr ...
- java中static的学习
1.static引入: 通常来说,当创建一个类是,就是在描述那个类的对象的外观与行为.除非用new创建那个类的对象,否则实际并未获取任何对象.当执行new来创建对象时,数据存储空间才被分配,七方法才供 ...
随机推荐
- I - Andy's First Dictionary(set+stringstream)
Description Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy ...
- svn报错:Cannot negotiate authentication mechanism
在使用eclipse的svn插件连接osc的代码仓库时候,发生了以下错误: Cannot negotiate authentication mechanismsvn: Unable to connec ...
- SpringBoot-redis-session
配置pom <parent> <groupId>org.springframework.boot</groupId> <artifactId>sprin ...
- html与html5 总结
时间:于2017年12月3日 19:35:18开始 用于: 这文章用于个人技术总结(全文转发请标明出处,小段摘抄随意) HTML笔记1.html标签不区分大小写,但是建议小写2.常用标签: 可用在he ...
- 带有空格或tab的字符串的判断
class test { public static void main(String[] args) { String a = " "; //带有空格的字符串 if ( a.is ...
- Codeforces_768_B_(二分)
B. Code For 1 time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Java_大数值_16.5.12
如果基本的整数和浮点数精度不能满足要求,那么可以使用java.math包中的BigInteger和BigDecimal这两个类.这两个类可以处理包含任意长度数字序列的数值.BigInteger类实现了 ...
- ARX亮显问题
转载一段acedSSSetFirst的用法仅供参考:打个比方,我创建了一个命令,这个命令的功能是提示用户选择,然后只过滤文本对象作为选择集,随后在屏幕上使得这个选择集的所有成员都亮显,并且能够显示出各 ...
- laydate.js 月份区间选择插件
laydate.render({ elem: '#reservation2' , type: 'month' , range: true, //format: '2018/09', theme: '# ...
- 【转载】Java下利用Jackson进行JSON解析和序列化
参考资料: https://blog.csdn.net/sdut406/article/details/85647982 Java下常见的Json类库有Gson.JSON-lib和Jackson等,J ...