关于Java,我想静态知道当前类的类名。A是B的父类。我想在A(父类)中有一个静态字符串,其中包含当前类的类名,但是当在B(子类)中引用这个静态字符串时,它应该包含B的类名。这可能吗?例子:publicclassParent{protectedstaticStringMY_CLASS_NAME=???...}publicclassChildextendsParent{publicvoidtestMethod(){if(MY_CLASS_NAME.equals(getClass().getName())){System.out.println("We'reequal!");}}}
我正在用Java构建一个“联系人管理器”。我有一个名为“Contact的父类(superclass),它有两个基类:PersonalContact和BusinessContact。我有一个名为Event的接口(interface),它由类Birthday和Meeting实现。(生日包含一个DateTime对象,而session有两个开始时间和结束时间)。PersonalContact拥有一组生日,BusinessContact拥有一组session。现在,在父类(superclass)Contact中,我想创建一个名为“getEventsWithinPeriod()”的抽象方法,它将返
我正在尝试创建一个将字段作为参数的构造函数,然后将其放入存储在父类(superclass)中的字段中。这是我正在使用的代码publiccrisps(Stringflavour,intquantity){this.flavour=super.getFlavour();this.quantity=quantity;}在父类(superclass)中我用初始化了这个字段privateStringflavour;我有一个访问器方法publicStringgetFlavour(){returnflavour;}我收到错误消息“flavour在父类(superclass)中具有私有(private
我有一个类,它有一个默认情况下访问说明符是公共(public)的方法。现在,我想在子类中扩展这个类,我想重写这个方法以获得访问说明符“private”。编译此代码时,出现编译错误:"attemptingtoassignweakeraccessprivileges".有人可以向我解释在子类中分配较弱的权限有什么问题吗?这是导致编译错误的代码:classSuperclass{voidfoo(){System.out.println("Superclass.foo");}}classSubclassextendsSuperclass{privatevoidfoo(){System.out.p
我知道转换实际上只能从子类到父类(superclass)(向上转换)完成,但这个例子说明了我想做什么。ClassSuper{}ClassSubextendsSuper{}Supersuper=newSuper();Subsub=(Sub)super;我相信这被称为“向下”类型转换,这是不允许的......给定Super类型的对象,创建Sub类型对象的最佳方法是什么。编辑:这就是问题-将Animal转换为Cat的最佳方法是什么。答案?从基本类型动物开始并将属性复制到猫。添加毛皮和尾部等。基本上是一个复制构造函数。这是正确答案(或好的答案)吗?另一个编辑:我认为我的问题很明确,但可能过于笼
我对Java语言的类型转换有一个误解。问题是ClassCastException。例如,在这段代码中,假设Animal是Dog类的父类,Animalanimal=newAnimal();Dogdog=(Dog)animal;执行后抛出ClassCastException。然而,在研究android包时,我发现了一个关于类型转换的例子,考虑到那个java例子,它应该抛出一个ClassCastException。EditTexteditText=(EditText)findViewById(R.id.edit_message);在这段代码中,findViewById方法返回一个View类对
关键字protected授予对同一包和子类中的类的访问权限(http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html)。现在,每个类都有java.lang.Object作为父类(superclass)(http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html)。因此我得出结论,每个类都可以访问java.lang.Object的方法,即使它们是protected。看看下面的例子:publicclassTestclass{publicObje
实现了Serializable接口(interface)的类的子类是否也实现了Serializable?也就是说子类的实例也可以序列化吗? 最佳答案 Iwantedtoaskwhetherthechildoftheparent,whichimplements"Serializable"interface,implements"Serializable"interfacetoo,orinotherwordscanthatchildbeserialized?第一部分的答案是肯定的。这是Java继承的自然结果。第二部分(“换句话说……”)
事实1:Javadoesnotsupportmultipleinheritance.事实2:Objectisasuperclassofallotherclasses如果我有一个Parent类和一个继承Parent类的Child类:classParent{}classChildextendsParent{}在这种情况下,如果Java不支持多重继承,Child类将如何继承Object类?这三者之间的关系是如何定义的?选项1:选项2: 最佳答案 这是选项2。如果您定义一个父类(superclass),那将是您的类的直接父类(supercl
我是java的新手,我正在尝试创建一个XML文档并一遍又一遍地克隆该文档的特定节点(减去文本节点)。有人回答我说我应该将节点子类化并覆盖克隆。所以我的问题是什么是子类化? 最佳答案 子类化意味着定义一个新类,它具有旧类(“父类(superclass)”)的属性,但有一些变化。在这种情况下,您的原始回复者是这样说的:假设您有一个基类Base,它有一个方法getTwo,如下所示:classBase{publicintgetTwo(){return2;}}你决定你想要一个新类,它仍然有一个方法getTwo但它返回string“two”而不