草庐IT

final-class

全部标签

java - 如何使 toString() 方法返回父类(super class)私有(private)字段及其实例字段?

有没有办法让toString()包含超class的私有(private)字段?我尝试添加super.toString(),但是没用。请看下面的代码员工.javapackagetest;publicclassEmployee{privateStringname;privateintid;privatedoublesalary;publicEmployee(Stringname,intid,doublesalary){super();this.name=name;this.id=id;this.salary=salary;}publicdoublegetSalary(){returnsal

java - 想创建一个 map<String , Object> ,Object 可以是 String 也可以是 class Object

如何创建Map.在这个映射中,每次对象都是一个字符串。但是现在我想除此之外在对象中放一个类。这是混合字符串和类对象的好方法吗?如果是,当我遍历映射时,如何区分类和字符串? 最佳答案 Mapmap=newHashMap();...for(Map.Entryentry:map.entrySet()){if(entry.getValue()instanceofString){//Dosomethingwithentry.getKey()andentry.getValue()}elseif(entry.getValue()instanceo

java - 从 2.6 升级到 3.7 时出现 BIRT JDBCException "Cannot load JDBC Driver class: com.mysql.jdbc.Driver"

我正尝试在我的Tomcat服务器上升级我的birt-viewer的版本,但我似乎在加载JDBC驱动程序时遇到错误:exception.error(1time(s))detail:org.eclipse.birt.report.engine.api.EngineException:Anexceptionoccurredduringprocessing.Pleaseseethefollowingmessagefordetails:Cannotopentheconnectionforthedriver:org.eclipse.birt.report.data.oda.jdbc.org.ecl

java - 抽象类或接口(interface)中的 public static final 字段

我有很多抽象类的子类,每个子类都声明了一个同名的publicstaticfinal字段。我在考虑在抽象父类(superclass)中有这个字段而不初始化它,并希望每个子类都被强制初始化它。我之所以想到这一点,是因为我的抽象类的所有子类都声明了一个名为UNIQUE_ID的公共(public)静态最终字符串字段,并且每个子类都必须声明一个具有完全相同名称的字段。我希望我的问题足够清楚,如果不是请告诉我。可以做一些或多或少等同于此的事情吗?编辑:添加代码:我的抽象类如下所示:publicabstractclassExperimentPanelModelextendsPanelizable{p

java - JTable - Boolean.class 单元格渲染器和 Nimbus 外观的问题

我正在使用JTable来可视化一些数据。一栏注定要通过复选框显示boolean数据。我通过从表模型中覆盖的getColumnClass()函数返回Boolean.class来实现这一点。不幸的是,这会导致单元格带有复选框但没有适合当前行的背景颜色。我使用这篇文章的答案解决了这个问题:JTable-BooleanCellType-Background现在我试图增加交替行的对比度。我通过设置我正在使用的NimbusLAF的适当属性来实现这一点。UIDefaultsdefaults=UIManager.getLookAndFeelDefaults();defaults.put("Table.

java - 如何使用从父类(super class)到子类的变量?

我有一个父类(superclass),我想在我的子类中使用这个父类(superclass)中的一个变量。这怎么可能? 最佳答案 只需将字段设置为protected,这意味着它应该对所有派生类可见。 关于java-如何使用从父类(superclass)到子类的变量?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/16992452/

java - final 字段和匿名类

我对匿名类和最终字段的解释仍然不满意。有很多问题试图解释明显的问题,但我还没有找到所有问题的答案:-)假设如下代码:publicvoidmethod(finalinti,intj){finalintz=6;finalintx=j;intk=5;newRunnable(){publicvoidrun(){System.out.print(i);System.out.print(x);System.out.print(z);System.out.print(k);}};}由于“未最终的”k属性,无法编译此代码。我知道编译器可以在编译期间用声明的值替换z属性。当我搜索解决方案时,i和x究竟如

java - 有什么方法可以强制类在 Java 中具有 public static final 字段?

有没有办法强制Java中的类具有publicstaticfinal字段(通过接口(interface)或抽象类)?或者至少只是一个公共(public)领域?我需要以某种方式确保一组类有publicstaticfinalStringTYPE="...";在其中。 最佳答案 不,你不能。你只能强制他们有一个非静态的getter方法,它会为每个子类返回适当的值:publicabstractStringgetType();如果你需要将某物的每个子类映射到一个值,而不需要实例化它,你可以创建一个publicstaticMap,String>t

java - 从类定义中删除 final 会破坏向后兼容性吗?

我目前正在阅读JoshuaBloch的《EffectiveJava》,第17条是“为继承设计和记录,否则禁止继承”。作者建议默认禁止继承。在默认情况下将类声明为final是否安全,如果需要扩展类,在以后的版本中删除final关键字是否安全?它会破坏对使用先前版本编译的代码的向后兼容性吗?如果是这样,似乎更安全的做法是将所有类设为最终类,并且仅在有良好支持需求的情况下在未来的版本中将其删除。 最佳答案 它既不破坏二进制也不破坏源兼容性。这就是将类(class)设置为final是个好主意的原因之一;改变主意总是可以的。TheJavaLa

java - Class.getResource() 在我的 Eclipse 应用程序中返回 null?无法配置类路径?

我正在尝试使用Class.getResource("rsc/my_resource_file.txt")在Eclipse应用程序中加载文件。但是,无论我在Eclipse中做什么,类路径始终只包含一个Eclipse启动器条目:.../eclipse/plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.pkc如何配置类路径?注意:在运行时,我使用以下代码确定类路径:URLClassLoadercl=(URLClassLoader)ClassLoader.getSystemClassLoader();for(URLclasspathURL