【C# TO JAVA】 静态类

C# 静态类

C#写静态类,一般是保证类下都是静态方法,提高效率。

  1. 静态类中,所包含的全部成员都必须是静态的。静态成员属于类,通过类名访问。
  2. 常用于工具类,我之前用于扩展方法,记得之前最佳实践,静态方法的很多时候是空间换时间。
  3. 可以有静态构造函数

官方:静态类的主要功能如下:

1、它们仅包含静态成员。

2、它们不能被实例化。

3、它们是密封的。

4、它们不能包含实例构造函数(C# 编程指南)。

因此创建静态类与创建仅包含静态成员和私有构造函数的类大致一样。私有构造函数阻止类被实例化。

使用静态类的优点在于,编译器能够执行检查以确保不致偶然地添加实例成员。编译器将保证不会创建此类的实利。

静态类是密封的,因此不可被继承。静态类不能包含构造函数,但仍可声明静态构造函数以分配初始值或设置某个静态状态。

 

 

JAVA 静态类

类要被声明为static的,就是静态内部类。外部类声明为static,程序会编译不过。
  1. 静态内部类跟静态方法一样,只能访问静态的成员变量和方法,不能访问非静态的方法和属性,但是普通内部类可以访问任意外部类的成员变量和方法
  2. 静态内部类可以声明普通成员变量和方法,而普通内部类不能声明static成员变量和方法。
  3. 静态内部类可以单独初始化: 

 

其他的说法:

java没有直接的静态类这种东西,一个类可以为static的情况只是他作为另一个类的成员,static表明他可以不用建立实例被访问而已,这样的内部类完全没有内部类的特点
内部类可以访问所在外部类的成员变量和方法,而静态内部类却不能
内部类可以使用Outter.this作为外部类引用,但静态内部类不能使用
静态内部类就如同外部类的一个静态成员,他只能访问外部类的静态成员和静态方法
在外部类外必须使用Outter.Inner外部类名和内部类名都要使用,楼上所说的不需要建立对象, 指的是不需要建立外部类实例

posted @ 2020-06-05 14:46  Bakuman  阅读(204)  评论(0)    收藏  举报