我在Delphi 2009中有一个自定义的TObjectList后代,我想稍微使用它的枚举器并为MoveNext方法添加一些过滤功能,以使其跳过某些对象.MoveNext是由DoMoveNext调用的,这是一个虚方法,所以这不应该难以覆盖......除了一件事.TObjectList的TEnumerator不是它自己的类; 它在TObjectList声明中声明为嵌套类型.
有没有简单的方法来覆盖我的后代类中的TEnumerator.DoMoveNext,还是我必须重新实现整个TEnumerator?这不是一个很大的课程,但如果可以的话,我宁愿将冗余保持在最低限度......
我对子类有点困惑.这是我的代码:
public class MedHistory {
private String grafts;
private String allergies;
private String diseases;
private String surgeries;
private String medicalTreatment;
//Constructors (#2)
public MedHistory(String allergies, String diseases, String grafts,
String treatments, String surgeries) {
this.allergies=allergies;
this.diseases=diseases;
this.grafts=grafts;
this.medicalTreatment=treatments;
this.surgeries=surgeries;
}
public MedHistory() {
this.allergies="";
this.diseases="";
this.grafts="";
this.medicalTreatment="";
this.surgeries="";
}
//Getters
public String getGrafts() {
return grafts;
}
public String getAllergies() {
return allergies;
}
public String getDiseases() {
return diseases;
}
public String getSurgeries() {
return surgeries;
}
public String …Run Code Online (Sandbox Code Playgroud) 我正在研究 Java 中的继承,我正在学习的书使用一个Employee类来解释几个概念。由于同名的 java 文件中只能有一个(公共)类,并且该类创建另一个类的对象,因此我必须在同一个文件中定义一个 Employee 类,而不使用修饰符public。我的印象是,在同一个 java 文件中的另一个类主体之后以这种方式定义的类对于同一包中的其他类不可见。下面是用于演示的示例 Java 代码:
package book3_OOP;
public class TestEquality3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Employeee emp1 = new Employeee("John", "Doe");
Employeee emp2 = new Employeee("John", "Doe");
if (emp1.equals(emp2))
System.out.println("These employees are the same.");
else
System.out.println("Employees are different.");
}
}
class Employeee {
private String firstName, lastName;
public Employeee(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public …Run Code Online (Sandbox Code Playgroud) 以下代码
package p
@Entity
@NamedQueries({
@NamedQuery(name = "A.findAllB"
query = "SELECT new p.A.B(a.bId, a.bName) FROM A a")
})
public class A implements Serializable {
public static class B {
public B(long id, String name) {}
}
}
Run Code Online (Sandbox Code Playgroud)
在应用程序初始化期间抛出异常:
Caused by: org.hibernate.HibernateException: Errors in named queries: A.findAllB
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:545) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1859) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:852) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:845) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:844) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final]
at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) [jipijapa-hibernate4-3-1.0.1.Final.jar:]
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-8.2.0.Final.jar:8.2.0.Final]
... 8 more
Run Code Online (Sandbox Code Playgroud)
但是,如果B该类向上移动为独立类p.B,则可以正常工作。
是否可以将嵌套类与 JPA …
我有一个名为GamePlay的ViewController类.在GamePlay中有一个名为MyPinAnnotationView的嵌套类.当调用MyPinAnnotation的方法TouchesBegan()时,我想从父GamePlay调用方法CheckAnswer().
我不想创建一个新的GamePlay实例,因为我已经设置了变量和实例.我可以通过某种方式访问父母吗?(除了事件监听器)
似乎无法编译以下主要方法:
public class MainMethod {
public static void main(String []args){
InnerizationClass outer = new InnerizationClass();
InnerizationClass.StaticInnerClass inner = outer.StaticInnerClass(); //#1
System.out.println(inner.getOuterClassVar());
System.out.println(new InnerizationClass().locInnrMeth());
}
}
Run Code Online (Sandbox Code Playgroud)
这是InnerizationClass类:
public class InnerizationClass {
String outerClassVar = "Outer Catism";
static String outerClassVarStat = "Outer Static Catism";
public static class StaticInnerClass{
String innerClassVar = "Catism";
public String getInnerClassVar(){
return this.innerClassVar;
}
public String getOuterClassVar(){
return InnerizationClass.outerClassVarStat;
}
}
public String locInnrMeth(){
class MethodLocalInnerClass{
String methodLocalInrCls = "Method Local Catism";
void printInner(){
System.out.println(InnerizationClass.this.outerClassVar);
}
}
return …Run Code Online (Sandbox Code Playgroud) 我正在学习Scala,而且我来自C++(很少有Java经验).我工作的地方经常使用以下模式:
class SomeClass {
public:
class Options {
...
};
SomeClass(const Options& options);
...
};
int main() {
SomeClass::Options options;
options.a = ...;
...
SomeClass* sc = new SomeClass(options);
}
Run Code Online (Sandbox Code Playgroud)
我如何在Scala中模拟它?
请考虑以下嵌套类.
class Outerclass {
class innerclass {
}
}
class util {
//how to declare an array of innerclass objects here?
}
Run Code Online (Sandbox Code Playgroud) 我很难将指向成员函数的指针传递给Outer<T>::foo嵌套类的构造函数,Outer如下所示(另请参见ideone).
template<typename T1>
struct Outer
{
void foo()
{
}
Outer() : inner( &Outer::foo ) // ERROR: compiles without &Outer::foo and Inner( F f ), below
{
}
template<typename T2, void (T2::*F)()>
struct Inner
{
Inner( F f ) // ERROR
{
}
};
Inner<Outer,&Outer::foo> inner;
};
int main()
{
Outer<int> outer;
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我开始怀疑这是否可能.
我在这样的类中有一个结构
template <class T>
class a {
struct b {
int var;
b *foo(const T&);
};
int var;
};
Run Code Online (Sandbox Code Playgroud)
我想在foo外面定义struct b.
我怎么做?
nested-class ×10
java ×5
c++ ×2
class ×2
templates ×2
c# ×1
declaration ×1
delphi ×1
delphi-2009 ×1
hibernate ×1
inheritance ×1
iphone ×1
jpa ×1
oop ×1
scala ×1
syntax ×1