`

用static关键字修饰类

    博客分类:
  • Java
 
阅读更多

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

 

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

 

public class TestStaticClass {
	public static void main(String[] args) {
		// 不需要new一个OutClass
		new OuterClass.InnerClass();
	}
}

 

 

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

 

 

 

package inner_class;

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

 

 

public class TestStaticClass {
	public static void main(String[] args) {
		// OutClass需要先生成一个实例
		OuterClass oc = new OuterClass();
		oc.new InnerClass();
	}
}

 

分享到:
评论
1 楼 csdn_zuoqiang 2010-08-11  

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的方法是属于某个对象的方法,在这个对象创建时,在对象的内存中拥有这个方法的专用代码段;



相关推荐

    C++中static关键字总结

    在C++中,使用static关键字可以修饰变量和函数,具有不同的作用。下面对这些知识点进行详细解释。 首先,静态变量(static variable)的主要存在意义在于它们能够在函数调用结束后仍然保持其值。普通变量在函数内部...

    第04章 面向对象(上) 10 Static关键字修饰属性和方法

    在Java中,`static`关键字是面向对象编程的一个重要组成部分,它用于修饰类的成员变量和成员方法。本章节将深入探讨`static`关键字在Java中的应用及其原理。 首先,我们要理解`static`关键字的基本概念。`static`...

    关于static关键字的总结

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

    static关键字简介

    通过类名称来调用静态变量 ">在课堂中 已经简要介绍了 static 关键字的使用 我们知道 static 关键字可以用来修饰 类的成员变量 成员方法或者是代码块 下面我们就来说说这个 static 关键字 有时候程序员可能需要定义...

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

    1. 工具类:可以使用static关键字来创建工具类,例如`Math`类,所有数学操作都可以使用静态方法调用。 2. 单例模式:可以使用static关键字来实现单例模式,例如: ```java public class Singleton { private ...

    java视频 static关键字

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

    C++中的static关键字.doc

    C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。

    Java编程中static和final关键字的陷阱.pdf

    static关键字修饰的成员变量称为静态成员变量,这类成员变量在类生成对象时共享同一个副本,所有对象共享该静态成员变量。例如,在 StaticTest1.java 例子中,myStatic1 和 myStatic2 共享同一个静态成员变量a,当对...

    Static关键字详解.docx

    Static关键字在Java编程语言中扮演着至关重要的角色,它允许我们创建类级别的变量和方法,这些变量和方法不依赖于类的实例即可访问。在深入理解Static关键字之前,我们需要了解类和对象的概念。类是创建对象的蓝图,...

    volatile关键字 Const关键字 static关键字 mutable 关键字

    `mutable` 是C++特有的,用于修饰类的成员变量。即使在`const`成员函数中,`mutable`修饰的成员变量也可以被修改。这样可以在不影响对象的“常量性”(即对象的行为看起来是不变的)的情况下,允许内部状态的改变。...

    Java面向对象(高级)- static关键字的使用

    Java中的`static`关键字是面向对象编程中的一个重要概念,它用于修饰类的成员变量和成员方法,以及静态初始化块。在Java中,`static`关键字具有以下几个核心特点和用途: 1. **类属性与类方法的设计思想**: 类的...

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

    它可以用来修饰类、方法和变量。对于类,如果一个类被声明为`final`,那么它不能被其他类继承,这有助于保证类的设计完整性和防止意外的子类化。例如,Java中的`String`类就是`final`的,目的是防止对其内部结构的...

    Java关键字final、static使用总结

    在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用方法和限制。 一、final 关键字 ...

    JavaOOP-04-static关键字笔记.pdf

    正确理解和使用`static`关键字对于编写高效、清晰的Java代码至关重要,尤其是在设计类的结构和管理资源时。同时,需要注意过度使用`static`可能导致代码耦合度增加,不易维护,因此应谨慎使用。

    Static关键字共5页.pdf.zip

    在Java编程语言中,`static`关键字扮演着至关重要的角色,它能够修饰类的成员变量和方法,赋予它们特殊的特性。本篇文章将深入探讨`static`关键字的含义、用法以及在实际编程中的应用。 一、静态关键字的定义与特点...

    Java下static关键字用法详解

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

    Java零基础-static关键字.md

    静态成员变量也被称为类变量,是指在类中定义时使用`static`修饰符的变量。此类变量不依赖于任何特定的对象实例,而是由类的所有实例共享。 **示例代码:** ```java public class Counter { public static int ...

    Java应用程序开发学习之static关键字应用

    例如,在Student类中,我们可以使用static关键字修饰id_count变量,使其属于类本身,而不是对象自己。 package app_one; public class Student { private int id = 0 ; private int age = 0; private String ...

    C++ static关键字的原理及用法详解

    ##### 2.3 修饰类的成员 **2.3.1 静态成员变量** 静态成员变量属于类本身而非类的实例,所有实例共享同一个静态成员变量。静态成员变量必须在类定义外部进行初始化。 **示例代码:** ```cpp #include class ...

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

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

Global site tag (gtag.js) - Google Analytics