导航:首页 > 编程语言 > java定义静态类

java定义静态类

发布时间:2022-09-20 22:47:29

java里面不允许声明类为静态的吗

不可以声明类为静态类的。

解释:静态类是没有实际意义的,而且运行初始化还要占用大量内存,而且假如有静态类,不能被重写,不能被创建,没啥实际意义。

Ⅱ java 静态类是什么意思 有什么特点

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

Ⅲ java 有没有静态类

java有静态内部类
Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。

Ⅳ java 外部类可以定义成静态类吗,如果可以,它会起到什么作用呢

静态类只用于包含静态成员的类型,它既不能实例化,静态类的特性是防止继承,防止外部来NEW。它相当于一个sealed abstract类。

static class MyUtility
{
public const int data;
public static void Foo()
{
...
}
}

静态类的几个注意点

静态类不能有实例构造器。
静态类不能有任何实例成员。
静态类不能使用abstract或sealed修饰符。
静态类默认继承自System.Object根类,不能显式指定任何其他基类。
静态类不能指定任何接口实现。
静态类的成员不能有protected或protected internal访问保护修饰符。

Ⅳ Java 枚举类型必须定义在静态类中

应该是enum类型本质是静态类,普通内部类里当然不能定义静态类。静态类是编译期确定的,普通内部类是运行时确定的,所以静态内部类的普通成员父类要到运行期才能确定,就不可能编译确定该普通内部类的静态内部类,就是说,该静态内部类的上层父类当中不能有一层是普通内部类,编译器编译时中间就断链了。即在内部类中只能静态包含静态,不能普通包含静态。希望你能理解。

Ⅵ java中,定义了一个静态类,并且里面有一个构造方法,可不可被new出来

静态类,一般不用NEW出来,都是直接可以调用的,类似全局性质,除非程序给彻底终止该类才会失效。

Ⅶ java中为什么不能将一个类定义为静态的

普通类是不能声明为static的,想要使用类里的静态方法或变量,只需要将方法或变量声明为static即可,即使类不是static,也可以直接调用其中的方法或变量,所以静态类并没有什么意义。

Ⅷ Java 静态内部类的使用

Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。

1、静态内部类定义

静态内部类,定义在类中,任何方法外,用static定义;静态内部类只能访问外部类的静态成员。

生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:Outer.Inner in=new Outer.Inner();而不需要通过生成外部类对象来生成。这样实际上使静态内部类成为了一个顶级类。可以定义私有静态内部类。

2、java实现静态内部类注意事项

将某个内部类定义为静态类,跟将其他类定义为静态类的方法基本相同,引用规则也基本一致。不过其细节方面仍然有很大的不同。具体来说,主要有如下几个地方要引起注意。

1)一般情况下,如果一个内部类不是被定义成静态内部类,那么在定义成员变量或者成员方法的时候,是不能够被定义成静态成员变量与静态成员方法的。也就是说,在非静态内部类中不可以声明静态成员

2)一般非静态外部类可以随意访问其外部类的成员变量以及方法(包括声明为private的方法),但是如果一个内部类被声明为static,则其在访问包括自身的外部类会有诸多的限制。静态内部类不能访问其外部类的非静态成员变量和方法

3)在一个类中创建非静态成员内部类的时候,有一个强制性的规定,即内部类的实例一定要绑定在外部类的实例中。然后要在一个外部类中定义一个静态的内部类,不需要利用关键字new来创建内部类的实例。即在创建静态类内部对象时,不需要其外部类的对象

3、静态内部类示例

java在实现LinkedList时使用了如下内部类:

public class LinkedList<E>

extends AbstractSequentialList<E>

implements List<E>, Deque<E>, Cloneable, java.io.Serializable

{

........

private static class Entry<E> {

E element;

Entry<E> next;

Entry<E> previous;

Entry(E element, Entry<E> next, Entry<E> previous) {

this.element = element;

this.next = next;

this.previous = previous;

}

}

private Entry<E> addBefore(E e, Entry<E> entry) {

Entry<E> newEntry = new Entry<E>(e, entry, entry.previous);

newEntry.previous.next = newEntry;

newEntry.next.previous = newEntry;

size++;

modCount++;

return newEntry;

}

........

}

这里即静态内部类的典型用法

Ⅸ java中,定义一个静态类,里面有一个public void aMethod();实现某种功能,该方法算不算静态方法

public void aMethod(); 该方法没有使用static关键字,不属于静态方法,所以可以使用非静态字段。

Ⅹ java 如何写一个含有简单常数的静态类(菜鸟提问)

java写一个含有简单常数的静态类,可以使用接口,让一个类实现该接口,就可以直接通过接口.变量访问,如下代码:

测试类代码:

packagecom.qiu.lin.he;

{
publicstaticvoidmain(String[]args){
System.out.print(CeshiStatic.i);//直接使用该变量输出
}
}

接口类:

packagecom.qiu.lin.he;

publicinterfaceCeshiStatic{
publicstaticinti=0;//声明一个静态常数
}

运行结果如下:

阅读全文

与java定义静态类相关的资料

热点内容
怎么将安卓变成win 浏览:451
手机文件管理在哪儿新建文件夹 浏览:719
加密ts视频怎么合并 浏览:773
php如何写app接口 浏览:800
宇宙的琴弦pdf 浏览:395
js项目提成计算器程序员 浏览:942
pdf光子 浏览:832
自拍软件文件夹名称大全 浏览:327
程序员留学移民 浏览:51
梁中间部位箍筋加密区 浏览:119
频谱分析pdf 浏览:752
乐2怎么升级安卓70 浏览:174
java中获取日期 浏览:507
单片机74hc245 浏览:273
美国历史上的总统pdf 浏览:753
程序员脱单实验室靠不靠谱 浏览:460
php中间四位手机号 浏览:871
永旺app怎么样了 浏览:518
压缩空气流量计算软件 浏览:651
智慧聊天app怎么激活 浏览:926