草庐IT

static成员

全部标签

java - 静态内部类和类的静态成员共享同名?

这个问题在这里已经有了答案:WhathappenswhenaStaticVariablehasthesamenameasaStaticClassinJava?(2个答案)Differentoutputafterexecutionmainclass(1个回答)关闭9年前。静态内部类M和静态成员M[ofclassC]如何共享相同的名称?以下代码生成“White”作为输出:publicclassAmazed{publicstaticvoidmain(String[]args){System.out.println(B.M.W);}}classB{publicstaticclassM{stat

【C++】类的默认成员函数(上)

🔥博客主页:小羊失眠啦.🎥系列专栏:《C语言》《数据结构》《C++》《Linux》《Cpolar》❤️感谢大家点赞👍收藏⭐评论✍️文章目录一、默认成员函数二、构造函数构造函数的概念及特性三、析构函数析构函数的特性四、拷贝构造函数拷贝构造函数的特性一、默认成员函数上一章中我们谈到,如果一个类中什么成员也没有,那么这个类就叫作空类。其实这么说是不太严谨的,因为一个类不可能什么都没有。当我们定义好一个类,不做任何处理时,编译器会自动生成以下6个默认成员函数:默认成员函数:如果用户没有手动实现,则编译器会自动生成的成员函数。构造函数:主要完成初始化工作;析构函数:主要完成清理工作;拷贝构造:使用一个同

java - 如何在java中的静态上下文中定义成员接口(interface)?

Thememberinterfacecanonlybedefinedinsideatop-levelclassorinterfaceorinastaticcontext.案例A:顶级类中的接口(interface)完美运行packagemultiplei.interfaces.test;publicclassInterfaceBetweenClass{interfaceFoo{voidshow();}classInnerClassimplementsFoo{publicvoidshow(){System.out.println("InnerClassimplementsFoo");}}

java - 什么时候应该使私有(private)成员成为静态的,在我的情况下这是如何被覆盖的

因为私有(private)方法是隐式最终的。私有(private)或静态或final方法是早期绑定(bind)意味着它们不能被覆盖。但在我的代码中它实际上运行正常。publicclassBextendsA{publicstaticvoidmain(String[]args){newB().privateMethod();//noerror-outputB-privateMethod.}privatevoidprivateMethod(){System.out.println("B-privateMethod.");}}classA{privatevoidprivateMethod(){

java - 能否以某种方式限定最终参数以解决与匿名类成员的命名冲突?

“你为什么要这样做,你有什么问题吗?”尽管如此,有没有办法在不更改final方法参数名称的情况下完成此操作?privateFoocreateAnonymousFoo(finalBarbar){returnnewFoo(){privateBarbar=SomeUnknownScopeQualifier.bar;publicBargetBar(){returnbar;}publicvoiddoSomethingThatReassignsBar(){bar=bar.createSomeDerivedInstanceOfBar();}};}显然,如果没有doSomethingThatReass

java - 是否可以在 Java 中为具有接口(interface)成员变量的类编写复制构造函数?

如何为具有接口(interface)成员变量的类编写复制构造函数?例如:publicclassHouse{//IAnimalisaninterfaceIAnimalpet;publicHouse(IAnimalpet){this.pet=pet;}//my(non-working)attemptatacopyconstructorpublicHouse(HousehouseIn){//Thefollowinglinedoesn'tworkbecauseIAnimal(aninterface)doesn't//haveacopyconstructorthis.pet=newIAnimal

java - 原始类型成员的通用类型丢失

我在使用泛型时发现了一个奇怪的行为。在本类(class)中Foo,strings成员(member)与T无关:packagetest;importjava.util.ArrayList;publicclassFoo{ArrayListstrings;TgetSome(){returnnull;}}该类在main中使用:packagetest;publicclassMain{publicstaticvoidmain(){FoointFoo=newFoo();Integeri=intFoo.getSome();Strings1=intFoo.strings.get(0);FoorawFoo

java - 有什么办法可以保存 `static members` 的状态吗?

就像我们使用序列化保存实例变量的方式一样,有什么方法可以保存static成员的状态吗?如果在某种情况下,必须恢复静态成员的状态才能恢复某些内容,该怎么做? 最佳答案 我想到的最简单的选择是使用singleton而不是静态字段。单例对象可以序列化和反序列化,您可以管理它的生命周期,同时保留静态字段为您提供的“全局状态”(也就是说,全局状态是一件坏事,但这是另一个话题)否则-静态状态在类加载器的整个生命周期(这通常意味着JVM的生命周期)中得到保留。因此,如果你想持久化状态,在关闭时执行它并在类加载时恢复它是有意义的。Runtime.a

java - 何时将静态嵌套类(及其中的静态成员)加载到内存中?

在这里,我尝试使用内部静态帮助器类为我的数据库连接实现一个单例类:packagecom.myapp.modellayer;publicclassDatabaseConnection{privateDatabaseConnection(){//JDBCcode...}privatestaticclassConnectionHelper{//InstantiatingtheouterclassprivatestaticfinalDatabaseConnectionINSTANCE=newDatabaseConnection();}publicstaticDatabaseConnection

Java编译器错误谜题: "inner classes cannot have static declarations" - except for simple types

在编写代码时,我遇到了一种奇怪的Java编译器行为。当编译类(下面的源代码)时,编译器在NULL类变量上发出错误(“内部类不能有静态声明”)。这符合预期!但是,零类变量不会产生错误。这个我不懂!为什么会有这种差异,它似乎允许在内部类中对简单类型进行静态声明,但不允许对对象进行静态声明。(javac-version:1.6.0_24)publicclassOuter{publicstaticfinalRunnableHELLO=newRunnable(){//NocompilererrorpublicstaticfinalintZERO=0;//Causescompilererror:"