草庐IT

exception_class

全部标签

java - 访问未覆盖的父类(super class)方法时使用 'super' 关键字

我正在尝试掌握Java中的继承窍门,并且了解到当覆盖子类中的方法(和隐藏字段)时,仍然可以使用“super”关键字从父类(superclass)访问它们。我想知道的是,“super”关键字是否应该用于非覆盖方法?有什么区别(对于非覆盖方法/非隐藏字段)吗?我在下面整理了一个示例。publicclassVehicle{privateinttyreCost;publicVehicle(inttyreCost){this.tyreCost=tyreCost;}publicintgetTyreCost(){returntyreCost;}}和publicclassCarextendsVehic

java - Form 类中的方法 form(Class<T>) 在 Play 中已弃用!框架

我花了很多时间试图解决这个问题,并寻找替代这个问题的方法,但没有成功。首先,玩!我有义务使用和注入(inject)FormFactory(在https://www.playframework.com/documentation/2.5.0/JavaForms中解释)。但只是为了实例化这个FormFactory,我必须为其构造函数传递3个参数,即MessagesApi、Formatters和Validator。包括,我必须实例化Validator接口(interface),但我不确定这是正确的方法。为了更简单,我把它放在另一个类中:packagecontrollers;importjav

java - 为什么 double.class 不等于 java.lang.Double.class?

既然原始double型是用java.lang.Double类表示的,那么double.class不应该等于java.lang.Double.class吗?(这当然也发生在其他原始类型上)System.out.println(double.class==Double.class);输出:Result:false 最佳答案 Double.class是包装器类型Double对应的类对象。double其实不是类,double.class是反射中用来表示参数或返回类型具有原始类型的对象double.

java - Selenium 网络驱动程序 : Element Not Visible Exception

这是我的代码,用于在Website上单击一个简单的登录按钮importjava.util.concurrent.TimeUnit;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.firefox.FirefoxDriver;publicclassReports{publicstaticvoidmain(String[]args){WebDriverdriver=newFirefoxDriver();driver.get("https://platform.

java - 类数组列表 : ArrayList<Class> but how to force those classes to extend some super class?

我想管理类的ArrayList。例如,我有3种类型的过滤器:TextFilter、DurationFilter和扩展Filter的TimeFilter。这似乎是正确的:Listfilters=newArrayList();filters.add(TextFilter.class);filters.add(DurationFilter.class);filters.add(TimeFilter.class);但是现在我想用来限制ArrayList类型Listfilters=newArrayList();filters.add(TextFilter.class);filters.add(D

java - 智能 J : cannot create class-file?

老实说,这是一个小问题,但它让我无法继续使用我的小型Java练习应用程序。我目前正在练习用Java进行API调用。我试图创建一个名为“Film”的简单类文件。但是,当我尝试将其创建为类文件时,Intelli-J一直告诉我它无法创建类文件。我正在尝试将此文件设置在名为“models”的文件夹中。所有这些类文件都将用作执行API调用的应用程序的一部分。有没有我没有遵循的命名约定?我一直在谷歌搜索,但没有真正找到任何东西。 最佳答案 更直接地说,根据@VishalJumani提到的内容,您需要告诉IntelliJ哪些目录是“源”或“测试”

java - 需要权威来源来解释为什么你不应该抛出或捕获 java.lang.Exception

我有一个多小时后的编码标准session,我需要快速回答这个问题。经验丰富的Java程序员的常识是您不会抛出或捕获java.lang.Exception(除了极少数异常(exception)-没有双关语意)。你不这样做的原因是声明catch(java.lang.Exceptionex){...}也会捕获未经检查的异常,在大多数情况下这不是预期的。我们已经有很多由现有团队成员编写的遗留代码,他们在其中捕获java.lang.Exception的子类,记录错误,然后将子类作为java.lang.Exception重新抛出。我需要说服他们他们需要停止编写这样的代码。需要修复使用此反模式的现有

java - 在 Java 中,如何将 Exception 强制为 "bubble up"?

我有一个抛出异常的方法,它调用一个抛出异常的方法,等等。所以“抛出异常”的几个方法是菊花链式的。调用子方法的第一个方法将该子方法放在一个try-catchblock中,该block捕获在该调用中抛出的任何Exception。理论上。实际上,该try-catchblock不会捕获任何异常。有办法补救吗?代码如下:try{CSVSingleton.tryToReadBothFiles(FILE1_PATH,FILE2_PATH);}catch(Exceptione){//THISBLOCKNEVERGETSENTEREDBYTHEPATHOEXECUTIONSystem.out.print

java - isAnnotationPresent() 在 Java 中与父类(super class)型引用一起使用时返回 false

我正在尝试使用反射从父类(superclass)型引用变量中获取注释详细信息,以使该方法接受所有子类型。但是isAnnotationPresent()返回false。与其他注解相关的方法相同。如果用于确切的类型,则输出符合预期。我知道注释信息将在对象上可用,即使我通过父类(superclass)型引用也是如此。@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})public@interfaceTable{Stringname();}@Table(name="some_table")publicclassSomeEn

java - 我的类(class)线程安全吗?如果不是为什么?

我的类是线程安全的吗?如果不是,为什么?classFoo{booleanb=false;voiddoSomething()throwsException{while(b)Thread.sleep();}voidsetB(booleanb){this.b=b;}} 最佳答案 代码不是线程安全的,因为正在运行的线程可能会看到更改,直到代码被编译(可能在稍后的随机点)并且您不再看到更改。顺便说一句:这使得测试变得非常困难。例如如果您睡1秒钟,您可能会在将近三个小时内看不到这种行为。即它可能有效,也可能无效,你不能仅仅因为它有效就说它会继续