草庐IT

source-class-Illuminate

全部标签

java - 对子类实例使用父类(super class)类型

我知道这个问题已经被问了很多,但我认为通常的答案远不能令人满意。给定以下类层次结构:classSuperClass{}classSubClassextendsSuperClass{}为什么人们使用这种模式来实例化子类:SuperClassinstance=newSubClass();而不是这个:SubClassinstance=newSubClass();现在,我看到的通常答案是,这是为了将instance作为参数发送给需要SuperClass实例的方法,如下所示:voidaFunction(SuperClassparam){}//somewhereelseinthecode.....

c# - Foo.class 是做什么的?

我正在看一些Java代码,我经常看到这段代码。Foo.class这是用来表示类的类型?是不是类似于Foo.GetType();typeof(Foo);在C#中?它的用途是什么?它的含义是什么? 最佳答案 是的,Java中的Foo.class等同于C#中的typeof(Foo)。参见section15.8.2oftheJLS有关类文字的更多信息。它不与在引用上调用GetType()相同,后者获取对象的执行时间类型。Java的等价物是someReference.getClass()。您可能在Java代码中比在C#中更频繁地看到它的一个原

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:"

Java 6 Source 向后兼容性和 SQL

我的理解是,为了保持源代码兼容性,Java从不向公共(public)接口(interface)引入新方法,因为这会破坏实现接口(interface)的现有客户端。JavaReleasenotes州Ingeneral,thepolicyisasfollows,exceptforanyincompatibilitieslistedfurtherbelow:Maintenancereleases(suchas1.4.1,1.4.2)donotintroduceanynewlanguagefeaturesorAPIs.Theywillmaintainsource-compatibilitywi

java - MANIFEST.MF 中的Class-Path 是否只能包含jar 文件?

我想在其他目录中包含类文件,而不是在主类的目录中。如果我将这些目录放入MANIFEST.MF的Class-Path属性中,它不起作用。为什么?除了将这些类打包成一个jar文件,还有什么解决办法吗? 最佳答案 如该链接中所述,需要尾部斜线:Class-PathAttribute 关于java-MANIFEST.MF中的Class-Path是否只能包含jar文件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

java - JDK8 with -source 1.7 [默认方法]

我有以下类(class)。publicclassZonedDateTimeToInstant{publicstaticvoidmain(finalString[]args)throwsNoSuchMethodException{assertChronoZonedDateTime.class.isAssignableFrom(ZonedDateTime.class);finalMethodtoInstant=ChronoZonedDateTime.class.getMethod("toInstant");finalZonedDateTimenow=ZonedDateTime.now();

java - @Transactional (noRollbackFor=RuntimeException.class) 不会阻止在 RuntimeException 上回滚

@Transactional(noRollbackFor=RuntimeException.class)publicvoidmethodA(Entitye){service.methodB(e);}---以下服务方式---@Transactional(propagation=Propagation.REQUIRES_NEW,noRollbackFor=RuntimeException.class)publicvoidmethodB(Entitye){dao.insert(e);}当methodB()中的dao.insert(e)导致主键冲突并抛出ConstraintViolationE

java - 字节好友 : Create implementation for an abstract class

我想使用ByteBuddy在运行时为抽象类创建一个实现,我遇到了一个问题,当从创建的实例。我有一个像这样的现有abstract类(我实际上无法修改它,它实际上包含更多逻辑):publicabstractclassAlgorithm{abstractintexecute();}使用以下最小样本,我希望我的Algorithm实例返回一个常量值:Classtype=newByteBuddy().subclass(Algorithm.class).method(ElementMatchers.named("execute")).intercept(FixedValue.value(42)).m

java - source 1.3(使用 -source 5 或更高版本启用泛型)

当我在我的IDE中编译项目时它工作正常但是当我在bamboo中编译时它给我以下错误。我已经检查过我在任务中配置的jdk版本是1.6,我还尝试从pom中的maven插件强制执行jdk版本,但效果不佳。你们中有人可能知道这里发生了什么?[INFO]------------------------------------------------------------------------[ERROR]BUILDFAILURE[INFO]------------------------------------------------------------------------[INFO

Java Class.isAssignableFrom 困惑

我发现原始类型问题System.out.println("Integer.class.isAssignableFrom(int.class)="+Integer.class.isAssignableFrom(int.class));System.out.println("int.class.isAssignableFrom(Integer.class)="+int.class.isAssignableFrom(Integer.class));这两个语句都向调用者返回false。所以拳击似乎不适用于这里。我的问题是我的观察是否正确,或者是否有其他API可以正确地进行此测试?-------