static class 和 static interface

今天看代码,不断看到static class 和 static interface,也不明白是什么意思。经过多方搜索,总算让我找到了答案。

先看下面一个例子吧:

public class InnerClass1
{
  static class A
  {
    void methodA()
    {
      System.out.println("sdfsdf");
    }
  }
  
  public static void main(String[] args)
  {
    new InnerClass1().new A().methodA();
  }
}

static class属于内部类,相当于类的一个成员。只能通过外部类来调用它。

同样,static interface也是这样,只能在包含它的类中实现和使用。

时间: 2024-09-19 09:49:54

static class 和 static interface的相关文章

java中static变量和static方法以及普通方法在那个内存中存储呢? 请高手指点,谢谢

问题描述 java中static变量和static方法以及普通方法在那个内存中存储呢? 请高手指点,谢谢 栈内存:局部变量和对象的引用变量: 堆内存:对象: 以上是我所知道的,那么static变量和static方法以及普通方法在那个内存中存储呢? 请高手指点,谢谢 解决方案 static和普通方法都存在堆内存中,堆内存有个永久区permgen,这里面会存类信息. 所以不断的加载类或jar包可能出现permgen oome的错误. static是在堆内存的数据区. 解决方案二: java stat

static 类里的static变量和非static类里static变量生命周期各是多少?

问题描述 比如在ssh里,定义一个static 类的static变量和一个非static类static变量 它们的生命周期各是多长呢? 是到应用程序结束? 还是用户登陆的时候创建用户登出的时候销毁? 还是由垃圾回收器决定,具体时间不确定? 解决方案 类不能定义为static的.只有类的成员才可以是static(包括变量和方法)static成员第一次用的时候创建,之后就一直在了.直道应用程序关闭.解决方案二:static可修饰的东西很多,分别有如下一些: 1. static修饰类中的变量,称这样的

visual studio-using和static有什么区别,using static必须是static class么?

问题描述 using和static有什么区别,using static必须是static class么? using和static有什么区别,using static必须是static class么?vs2015 解决方案 using static 一个静态类,可以不通过类名调用: using static System.Console; using static System.Math; Console.WriteLine(Math.Sin(1.23)); 可以写 WriteLine(Sin(

php中static静态类与static 静态变量用法区别

1. 创建对象$object = new Class(),然后使用"->"调用:$object->attribute/function,前提是该变量/方法可访问. 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以.但是有前提条件: A. 如果是变量,需要该变量可访问. B. 如果是方法,除了该方法可访问外,还需要满足: b1) 如果是静态方法,没有特殊条件: b2) 如果是非静态方法,需要改方法中没有使用$this,即

public static string 和 static public string 有什么区别

问题描述 publicstaticstring和staticpublicstring有什么区别 解决方案 解决方案二:一样.没区别啊.解决方案三:没什么区别解决方案四:没区别解决方案五:一样的解决方案六:same解决方案七:一样解决方案八:一样的,位置可以互换解决方案:学习了解决方案:按照.NET环境的习惯publicstaticstring好一些解决方案:同上解决方案:编程习惯的区别,我只能看出这个.解决方案:HOHO,楼主肯定是弄过C++的人.constint&intconst&这类的

java的static内部类

为正确理解static在应用于内部类时的含义,必须记住内部类的对象默认持有创建它的那个封装类的一个对象的句柄.然而,假如我们说一个内部类是static的,这种说法却是不成立的.static内部类意味着: (1) 为创建一个static内部类的对象,我们不需要一个外部类对象. (2) 不能从static内部类的一个对象中访问一个外部类对象. 但在存在一些限制:由于static成员只能位于一个类的外部级别,所以内部类不可拥有static数据或static内部类. 倘若为了创建内部类的对象而不需要创建

java static-关于java中static的问题

问题描述 关于java中static的问题 一.能总结一下java中static关键字的用法吗?及其一些注意事项. 二.帮我解释几个句子为什么是错误的: 1.关键字static final再修饰int类型变量的时候,必须同时定义变量的初始值为0. 2.关键字static放在类前面做修饰符时,表示该类中的所有方法都为静态方法. 解决方案 在Java语言中,static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Ja

Java final static abstract关键字概述_java

一,抽象类:abstract 1,只要有一个或一个以上抽象方法的类,必须用abstract声明为抽象类; 2,抽象类中可以有具体的实现方法; 3,抽象类中可以没有抽象方法; 4,抽象类中的抽象方法必须被它的子类实现,如果子类没有实现,则该子类继续为抽象类 5,抽象类不能被实例化,但可以由抽象父类指向的子类实例来调用抽象父类中的具体实现方法;通常作为一种默认行为; 6,要使用抽象类中的方法,必须有一个子类继承于这个抽象类,并实现抽象类中的抽象方法,通过子类的实例去调用; 二,接口:interfac

java下static关键字用法详解

静态的, 那么首先, 我们先来看一下static可以修饰什么: 从以下测试可以看出, static 可以修饰: 1. 语句块 2. 成员变量(但是不能修饰局部变量) 3. 方法 4. 接口(内部接口) 5. 类(只能修饰在类中的类, 即静态内部类) 6. jdk 1.5 中新增的静态导入 那么static 修饰的表示什么呢? 当创建一个类时, 就是在创建一个新类型,描述这个类的对象的外观和行为,除非用new创建出那个类的对象, 数据存储空间才被分配, 其方法才供外界调用. 那么当声明一个事物为s