草庐IT

private_class_greeter

全部标签

java - 在调用父类(super class)的构造函数之前,有什么方法可以在 Java 中初始化子类的成员变量?

我需要这个,因为父类(superclass)中的构造函数正在调用一个在子类中被覆盖的方法。该方法返回一个值,该值传递给子类的构造函数。但是父类(superclass)构造函数必须在子类构造函数之前调用,所以我没有机会保存传入的值。 最佳答案 从父类(superclass)构造函数调用重写的方法根本行不通-不要这样做父类(superclass)构造函数必须始终在子类构造函数之前完成。当父类(superclass)构造函数正在执行时,所讨论的对象是父类(superclass)的(半初始化)实例,而不是子类!因此,如果您尝试从构造函数调用

java - Class.forName 给出 ClassNotFound 异常

我正在使用以下代码::StringclassName="SmsHelper"Classc=Class.forName(className);我得到以下信息堆栈跟踪::insidemainjava.lang.ClassNotFoundException:SmsURLHelperatjava.net.URLClassLoader$1.run(UnknownSource)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(UnknownSource)atj

java - 为什么要使 private static final Lists/Sets/Maps 不可修改?

我刚刚阅读了一位更有经验的程序员编写的一些代码,我遇到了以下问题:publicclassConsoleFormatterextendsFormatter{privatestaticfinalMapPREFIXES;static{Mapprefixes=newHashMap();prefixes.put(Level.CONFIG,"[config]");prefixes.put(Level.FINE,"[debug]");prefixes.put(Level.FINER,"[debug]");prefixes.put(Level.FINEST,"[trace]");prefixes.pu

java - Comparator<String> 必须覆盖父类(super class)方法

我正在制作TreeMap并希望以降序排列。我创建了以下比较器:Comparatordescender=newComparator(){@Overridepublicintcompare(Stringo1,Stringo2){returno2.compareTo(o1);}};我像这样构建TreeMap:myMap=newTreeMap(descender);但是,我收到以下错误:Themethodcompare(String,String)oftypenewComparator(){}mustoverrideasuperclassmethod我从来没有完全理解泛型,我做错了什么?

java - 如何组织类(class)、包

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion您如何决定包名称应该是什么以及哪个类应该放在哪个包中?我正在做一个项目,在这个项目中我不断地添加/删除类,但不确定我是否需要一个新包,或者应该将它添加到我目前不知道的现有包中。您在创建新包时是否遵循一套规则?你怎么知道你没有复制包的功能?这仅仅是因为对项目的熟悉程度吗。感谢任何指点。

java - 使用父类(super class) "protected final"方法为子类保留公共(public)代码

作为一个(迂腐的)初学者Java程序员,我想知道,将所有子类使用的公共(public)代码块移动到单独的protected(final)父类中的方法?诸如用通用值填充列表或通用过滤算法等任务...是否也可以使用protected静态方法?classA{protectedfinalListgetVariants(){...}protectedfinalListfilterResults(Listvariants){...}}classBextendsA{publicListdoSomethingUsefull(){ListcommonVariants=getVariants();...r

java - 本地方法可以调用私有(private)方法吗?

我知道在JAVA中“原生”是一个特殊的东西。它可以做很多事情。但我现在无法阅读它。我不知道如何......我知道它可以调用JAVA中的其他方法。我的问题是:它可以调用私有(private)方法吗?如果是,那么只能在同一个类(class)或任何其他类(class)?如果它可以调用其他人,那么这是否是一个危险的问题?也就是说,它违反了规则。我在哪里可以获得更多关于NATIVE的信息?谁能给我一个链接? 最佳答案 JNIProgrammer'sGuideandSpecification在“10.9违反访问控制规则”中这样说:"TheJNI

java - 如果 main 方法在 java 文件的 "non public class"中怎么办?

我有一个包含多个类的java文件,其中一个是公共(public)类。如果main方法在非公共(public)类中。我无法运行该java文件。这是为什么?而且也没有编译错误。如果是这样,我该如何使用该主要方法? 最佳答案 实际上你可以在非公共(public)类中执行main方法。如果你把这个类classA{publicstaticvoidmain(String...args){System.out.println("Thisisnotapublicclass!");}}在名为NonPubClass.java的文件中。您可以使用java

java - 我可以有意发送额外的类(class)吗?

我正在尝试通过额外的类名,该怎么做?Intentp=newIntent(StartScreen.this,Setting.class);p.putExtra("",StartScreen.this);我想在Setting类中获取类名,但我不希望它是String因为我要像这样使用这个类名:Bundleextras=getIntent().getExtras();extras.getString("class");Intenti=newIntent(Setting.this,class);startActivity(i); 最佳答案 你

java - Java 中的公共(public)内部类与私有(private)内部类

我正在阅读Java编程简介,它没有关于这个主题的很好解释,这让我想知道为什么有人应该在Java中使用私有(private)内部类而不是公共(public)内部类。它们都只能被外部类使用。 最佳答案 你的声明它们都只能被外部类使用。是错误的:publicclassA{privateclassB{}publicclassC{}publicCgetC(){returnnewC();}publicBgetB(){returnnewB();}}publicclassTryout{publicstaticvoidmain(String[]arg