Java教程

Java基础三 Static ,Final

本文主要是介绍Java基础三 Static ,Final,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.static  修饰的属性,相较于实例变量 有哪些特别之处?

随着类的加载二加载 早于对象的创建:只要权限允许 可以通过

对象 static 属性的方法进行调用: 存在于方法区的静态域

用来修饰类的内部结构=》属性、方法、代码块、内部类 构造器

如何判断属性和方法应该使用static 关键字

属性是可以被多个对象所共享不会随着对象的不同而不同

类的常量也是常常声明为static

 题目训练:

public class TestStatic {
    static int x=10;
    static {x+=5;}
    public static void main(String[] args)
    {
        System.out.println("x="+x);//x=5
    }
    static{x/=3;};
}
Comment:
首先明确一下执行顺序,静态代码块先于主方法执行,静态代码块之间遵从代码顺序执行。 所以:先初始化静态变量x=10;//x=10 执行第一个静态代码块,x=x+5; //x=15 执行第二静态代码块 x=x/3; //x=5 执行主方法: 输出x=5 拓展一下,在类中定义的{}之间被称为构造块,构造块相对于构造方法先执行,构造块之间按照代码编译顺序执行 此外还有普通代码块,存在于方法之中。 贴出参考文章:http://www.cnblogs.com/sophine/p/3531282.html

 

2.Final

 

3.代码实现单例模式 的 饿汉式

4.代码实现单例模式的懒汉式-目前还是线程不安全的

5.类的属性赋值位置有哪些?先后顺序

默认初始化

显示初始化、代码块中初始化

构造器初始化

通过“对象.属性”或“对象.方法”赋值

 

代码块:静态大妈块 非静态代码块

抽象类和接口的异同?

相同点:不能实例化,都可以包含抽象方法

不同点:类但继承性 接口式多继承性 多实现。

 

这篇关于Java基础三 Static ,Final的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!