【转载】Java入门 之 static

转载地址:http://snkcxy.iteye.com/blog/1828950

概述:

  1. 修饰方法和成员变量,一旦修饰被修饰,就属类所有,可以通过类直接调用。
  2. 静态代码块:主要功能是做一些初始化工作。
  3. 代码块可以给变量赋初始值,但是千万不要把变量定义在代码块中。
  4. 代码块不能接受参数,所以它初始化的应当是公共的相同的信息,每个类或每个对象都是一样的信息。
  5. 静态成员(field、方法、代码块)不能访问非静态的成员,因为在他们运行的时候 非静态成员还不存在。
Java代码 复制代码  收藏代码
  1. package com.cxyapi.oo;   
  2.   
  3. /** static关键字演示  
  4.  * @author cxy @ www.cxyapi.com  
  5.  */  
  6. public class StaticTest   
  7. {   
  8.     public static void main(String[] args)   
  9.     {   
  10.         //静态成员变量    测试   
  11.         System.out.println(StaticTestObject.welcome);   
  12.         System.out.println("----------------------");   
  13.            
  14.         //静态方法    测试   
  15.         StaticTestObject.test();   
  16.         System.out.println("----------------------");   
  17.            
  18.         new StaticTestObject().test1();   
  19.         System.out.println("----------------------");   
  20.            
  21.         new StaticTestObject().test1();   
  22.         System.out.println("----------------------");   
  23.         /*  
  24.          * 执行上面方法会获得很多信息:  
  25.          * 1.有static修饰的代码块,在类被使用的时候,首先执行,并且只执行一次  
  26.          * 2.没有static修饰的代码块,在类实例化的时候会被调用,并且每次实例化都会被调用一次  
  27.          * 3.代码块的执行总是先于构造方法  
  28.          */  
  29.     }   
  30. }   
  31.   
  32. class StaticTestObject   
  33. {   
  34.     static  
  35.     {   
  36.         System.out.println("初始化代码块~");   
  37.     }   
  38.        
  39.     {   
  40.         System.out.println("一个代码块");   
  41.     }   
  42.        
  43.     //静态成员变量    属于类   
  44.     public static String welcome="www.cxyapi.com";   
  45.        
  46.     public StaticTestObject()   
  47.     {   
  48.         System.out.println("构造函数");   
  49.     }   
  50.        
  51.     public static void test(){ System.out.println("静态的test方法"); }   
  52.     public void test1(){ System.out.println("test1方法"); }   
  53. }  
package com.cxyapi.oo;

/** static关键字演示
 * @author cxy @ www.cxyapi.com
 */
public class StaticTest
{
	public static void main(String[] args)
	{
		//静态成员变量    测试
		System.out.println(StaticTestObject.welcome);
		System.out.println("----------------------");
		
		//静态方法    测试
		StaticTestObject.test();
		System.out.println("----------------------");
		
		new StaticTestObject().test1();
		System.out.println("----------------------");
		
		new StaticTestObject().test1();
		System.out.println("----------------------");
		/*
		 * 执行上面方法会获得很多信息:
		 * 1.有static修饰的代码块,在类被使用的时候,首先执行,并且只执行一次
		 * 2.没有static修饰的代码块,在类实例化的时候会被调用,并且每次实例化都会被调用一次
		 * 3.代码块的执行总是先于构造方法
		 */
	}
}

class StaticTestObject
{
	static
	{
		System.out.println("初始化代码块~");
	}
	
	{
		System.out.println("一个代码块");
	}
	
	//静态成员变量    属于类
	public static String welcome="www.cxyapi.com";
	
	public StaticTestObject()
	{
		System.out.println("构造函数");
	}
	
	public static void test(){ System.out.println("静态的test方法"); }
	public void test1(){ System.out.println("test1方法"); }
}

 

结果图:


    
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值