`
fp_moon
  • 浏览: 981700 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java中static关键字

阅读更多

Java里面static一般用来修饰成员变量或函数。但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类。

 

Java中用static修饰符修饰的方法被称为静态方法,本文我们来看看Java中static静态方法的用法特点。Java的static静态方法是属于整个类的类方法。不用static修饰符限定的方法,是属于某个具体类对象的方法。static方法使用特点如下:

  (1)引用这个方法时,可以使用对象名做前缀,也可以使用类名做前缀;

 (2)static方法不能被覆盖,也就是说,这个类的子类,不能有相同名、相同参数的方法;

 (3)static方法只能访问static方法,不能访问非static方法,但非static方法可以访问static方法;

 (4)static方法只能访问static数据成员,不能访问非static数据成员,但非static方法可以访问static数据成员;

 (5)main方法是静态方法。在Java的每个Application程序中,都必须有且只能有一个main方法,它是Application程序运行的入口点。

 (6)static方法是属于整个类的,它在内存中的代码段将随着类的定义而分配和装载。而非static的方法是属于某个对象的方法,在这个对象创建时,在对象的内存中拥有这个方法的专用代码段;

Java代码 复制代码
  1. public class OuterClass {   
  2.     public static class InnerClass{   
  3.         InnerClass(){   
  4.             System.out.println("============= 我是一个内部类'InnerClass' =============");   
  5.         }   
  6.     }   
  7. }  
public class OuterClass {
	public static class InnerClass{
		InnerClass(){
			System.out.println("============= 我是一个内部类'InnerClass' =============");
		}
	}
}

 

Java代码 复制代码
  1. public class TestStaticClass {   
  2.     public static void main(String[] args) {   
  3.         // 不需要new一个OutClass   
  4.         new OuterClass.InnerClass();   
  5.     }   
  6. }  
public class TestStaticClass {
	public static void main(String[] args) {
		// 不需要new一个OutClass
		new OuterClass.InnerClass();
	}
}

 

 

如果没有用static修饰InterClass,则只能按如下方式调用:

 

 

 

 

 

Java代码 复制代码
  1. package inner_class;   
  2.   
  3. public class OuterClass {   
  4.     public class InnerClass{   
  5.         InnerClass(){   
  6.             System.out.println("============= 我是一个内部类'InnerClass' =============");   
  7.         }   
  8.     }   
  9. }  
package inner_class;

public class OuterClass {
	public class InnerClass{
		InnerClass(){
			System.out.println("============= 我是一个内部类'InnerClass' =============");
		}
	}
}

 

 

Java代码 复制代码
  1. public class TestStaticClass {   
  2.     public static void main(String[] args) {   
  3.         // OutClass需要先生成一个实例   
  4.       OuterClass oc = new OuterClass();   
  5.       oc.new InnerClass();   //可以在外部类中用一个方法返回内部类实例如:oc.getInnerClassInstance();
  6.       OuterClass.InnerClass  inobj =  oc.getInnerClassInstance();
  7.     }   
  8. }  



 

分享到:
评论

相关推荐

    Java中static关键字用法总结[借鉴].pdf

    Java 中 static 关键字用法总结 Java 中的 static 关键字是一个非常重要的概念,它可以用来定义静态方法、静态变量和静态块。在 Java 中,静态方法通常在一个类中定义,它们可以在不创建类对象的情况下被调用。静态...

    Java中的static关键字

    Java 中的 static 关键字 Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以...

    java中static关键字用法详解

    java中static关键字用法详解 Java中的static关键字是一个非常重要的概念,它在Java编程中扮演着非常重要的角色。本文将详细介绍Java中static关键字的用法,包括静态变量、静态方法和静态代码块等几个方面。 静态...

    浅谈Java中static关键字的作用

    Java 中 static 关键字的作用 Java 中的 static 关键字是一个非常重要的概念,它有多种用途,本文将详细介绍 static 关键字在 Java 中的作用。 成员变量 在 Java 中,static 关键字可以修饰成员变量。静态变量...

    java视频 static关键字

    在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,涉及到类、对象以及变量和方法的生命周期。本视频教程详细讲解了`static`关键字在Java中的应用及其背后的原理。 首先,我们要理解`static`...

    Java中static关键字的作用和用法详细介绍

    在Java编程语言中,`static`关键字是一个非常关键的元素,用于定义类的静态成员,包括静态变量、静态方法和静态初始化块。这些静态元素在类的整个生命周期中只存在一个实例,并且与类本身相关联,而不是类的任何特定...

    static关键字详解

    static关键字详解: 内容摘要: 一、static关键字定义属性 二、static属性与非static属性还有一个最大的区别,所有的非static属性必须产生实例化对象之后才可以访问,但是static属性不受实例化对象的控制,也就是 说...

    java中final关键字和static关键字详细用法

    Java中的`final`和`static`关键字是编程中非常重要的两个修饰符,它们分别用于不同的场景,以确保代码的稳定性和高效性。 首先,`final`关键字主要用于表示不可变性。它可以用来修饰类、方法和变量。对于类,如果一...

    18.static关键字.zip

    18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static...

    Java之static关键字

    Java开发之static关键字的讲解,废话不多说,直接上代码 一、模板类,里面包括:成员变量、静态变量、普通代码块、静态代码块、普通方法、静态方法、构造函数、静态内部类(包括:成员变量、静态变量、普通代码块、...

    java中带static关键字的程序内存分析

    在Java编程语言中,`static`关键字扮演着重要的角色,它影响着类和对象的内存分配方式。理解`static`关键字对于深入理解Java程序的内存管理至关重要。在本文中,我们将详细探讨`static`关键字在Java程序内存分析中的...

    Java 程序显示类中 Static 关键字的用法.docx

    "Java 程序显示类中 Static 关键字的用法" Java 中的 static 关键字是 Java 语言中一个非常重要的概念,它主要用于内存管理。静态关键字用于共享给定类的相同变量或方法。用户可以将静态关键字应用于变量、方法、块...

    java中的关键字大全

    ### Java中的关键字大全 在Java编程语言中,关键字是一组预定义的词汇,它们具有特殊的含义和用途。理解和掌握这些关键字对于编写有效的Java程序至关重要。本文将详细介绍Java中的一些核心关键字,并提供相应的解释...

    Java面向对象程序设计static关键字.pptx

    Java面向对象程序设计中,static关键字是一个非常重要的概念,它有很多特点和作用,本文将对static关键字的特点、作用和使用场景进行详细的解释。 static关键字的特点 首先,static关键字可以用来修饰变量、方法和...

    Java中的static关键字共3页.pdf.zip

    在Java编程语言中,`static`关键字扮演着至关重要的角色,它是Java类和对象特性的一个核心组成部分。`static`关键字可以应用于变量、方法和代码块,以赋予它们不同的特性和功能。在这里,我们将深入探讨`static`...

    java实现根据关键字查找所在文件夹的文件

    在Java编程语言中,实现根据关键字查找文件夹内包含该关键字的文件是一项常见的任务,尤其在数据处理、日志分析或者文件管理系统中。这个功能可以帮助用户快速定位到含有特定信息的文件,提高工作效率。以下是一个...

    Duanxx的Java学习:关键字Static详解

    关键字Static就是为了满足上面提到的两种特殊情况而诞生的。当某一个变量或方法被声明为Static的时候,这个变量或方法就不再和任何一个类的实例对象绑定,即便没有创建任何一个实例对象,也可以方位Static的变量或者...

    Java静态static关键字原理详解

    Java静态static关键字是Java语言中一个非常重要的概念,它可以修饰成员变量和成员方法,使其具有特殊的特性。在本文中,我们将详细介绍Java静态static关键字的原理和应用。 一、静态变量 静态变量是指使用static...

    Java下static关键字用法详解

    Static关键字可以修饰什么?  从以下测试可以看出, static 可以修饰:  1. 语句块  2. 成员变量(但是不能修饰局部变量)  3. 方法  4. 接口(内部接口)  5. 类(只能修饰在类中的类, 即静态内部类)  6. ...

    关于static关键字的总结

    "关于static关键字的总结" static 关键字是 Java 语言中一个非常重要的概念,它可以用来修饰变量、方法、内部类和代码块等。下面我们将详细介绍 static 关键字的由来、作用和用法。 一、static 关键字的由来 在 ...

Global site tag (gtag.js) - Google Analytics