我一共上了三节课。动物(超类)和猫(子类)。当我试图调用whatIsTheClass()方法时,我没有理解输出"Cat“。我正期待着看到“动物”的输出。我之所以期望输出“动物”,是因为我认为方法whatIsTheClass()是从一个动物对象调用的,而不是从一个猫对象调用的,因为子类不包含这个方法。
主修班:
package com.example.java;
public class Main {
public static void main(String[] args) {
Animal cat = new Cat();
}
}
猫课:
package com
将泛型Object类作为成员变量存储在类中是不是不受欢迎?我有一个用例,其中我有一个Java类,其中包含以下成员变量:
public class Request {
private String id;
private Object payload;
}
有效负载需要容纳许多不同类型的对象。在这个例子中,我只展示两个。
public class Entity {
private String entityId;
private String name;
}
public class User {
private String uid;
我有一个以泛型类接口为参数的方法,我想检查提供的接口是否扩展了某个基类,如果不是,我将抛出一个异常。有没有可能做类似的事情:
public void genericMethod(Class<T> c) {
if (!(c instanceof baseClass)) {
throw new Exception("Must be instance of base class");
}
}
即使这是可能的,它会被认为是好的做法吗?或者,java泛型是否应该遵循与ducktyping相同的原则?
我正在用java制作一个简单的gui程序。当我单击run时,它会给出一个如下所示的错误:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.checkNotAWindow(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at javax.swing.JLayeredPane.addImpl(Unkno
我想要一种从java Date对象获取当前unix时间戳的好方法,这是我的解决方案:
public class Date extends java.util.Date {
public int getUnixTimeStamp() {
int unixtimestamp = (int) (this.getTime() * .001);
return unixtimestamp;
}
}
这可以很好地工作,但问题是当我试图将java Date对象转换为我的自定义date类时,即:
Calendar foo = Calendar.getInstan
这是我的抽象课:
public abstract class BankAccount{
protected long balance;
public BankAccount(long balance){ \\<--Abstract class constructor
this.balance = balance;
}
... more stuff
}
我有以下子类(也是一个额外的子类SavingsAccount,它们都有自己的独立平衡,但这与此无关):
public class CurrentAccount extends BankAccount{
pri
我只是做了一个简短的阅读,尝试在我的代码中实现序列化。
基本上,我有一个包含大量Questions的Test类。如果可能的话,我想一次序列化整个Test对象,或者如果不是每个Question都序列化。现在我正在尝试做每一个Question。
public abstract class Question implements Serializable {
...
}
public class Test {
...
public void save() {
try {
System.out.print("File name will be saved
根据,java.lang.Object是Java继承层次结构的根。与C++或Objective不同,程序员不能指定自己的根超类。正因为如此,我认为不可能在Java本身中实际定义java.lang.Object。令我惊讶的是,我发现OpenJDK确实有。
我想知道是否可以用JDK/JRE1.8编译和运行我自己版本的java.lang.Object,所以我把它写成了Object.java
package java.lang;
public class Object {
public static void main(String[] args) {
System.out.p
假设我有两个类,名为"SuperClass“和SubClass。SubClass扩展了SuperClass。
我刚刚发现,SuperClass不可能有一个SubClass类型的实例变量。
也就是说,这是行不通的:
class SuperClass{
SubClass x = new SubClass();
}
因为它导致构造函数相互调用,进入永久循环。(因为Java自动输入对Super()的调用)
创建子类实例变量是不可能的,也是一个糟糕的设计思想吗?还是有什么工作要做?
我一直在阅读问题的答案:
我已经执行了Lars Bohl建议的方法。我对他的代码作了如下修改:
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
public class ParameterizedTypeEg<E> {
public Class<E> getTypeParameterClass() {
Type type = getClass().getGenericSuperclass();
ParameterizedTyp
我正在编写的代码的一个小摘要是几个命令行游戏,它们是从提供大多数命令行游戏使用的方法和属性的游戏类继承而来的,例如板子、配置菜单、check_for_winner、游戏循环等等。我创建的板和菜单不是用gets来提示用户输入空间,而是创建了板和菜单来与箭头键交互,并在当前选择的选项上显示突出显示。而不是重写所有这些循环收集箭头键输入,而不需要按返回键,我决定有一个父游戏类,将运行他们的子类的方法在游戏循环。下面是我正在使用的game_loop代码
def game_loop
display_main_menu if defined? display_main_menu
begin
我正在编写的安卓MainActivity游戏需要扩展PApplet,这是一个继承自Processing库的类,整个游戏都是基于这个类的:
public class MainActivity extends PApplet{
//code that can use PApplet methods, but not BaseGameActivity ones.
}
现在,我想使用BaseGameUtils库来实现Google服务的成就和领导板。
要使用BaseGameActivity,库,我的MainActivity需要扩展从BaseGameUtils库继承的类:
public class Mai
大家好,
我目前正在开发一个使用Python和wxPython的应用程序。在其中我有一个对话框,其中填充了几个字段,以便在数据库中插入“文档”。该对话框的布局基本上由一个wx.Notebook组成,其中有几个“标签”,每个标签都包含某种类型的字段。
# Dialog class
class NovoRegisto(wx.Dialog):
def __init__(self,parent):
wx.Dialog.__init__(self, parent, title='Registar Nova O.T.', size=(900,600))
我正在上下列课程:
package com.zee.main;
import com.zee.sub.Sub;
public class MainClass {
public static void main(String[] args) {
Sub sub = new Sub();
sub.add();
}
}
package com.zee.sup;
public class Super
{
private int a = 2;
private int b = 3;
public void add(){
我有一个关于Java继承的问题。
我有两个类A和B,B类继承了A的:
public class A {
public A() {
System.out.println("Hi!");
}
}
public class B extends A {
public B() {
System.out.println("Bye!");
}
public static void main(String[] args) {
B b = new B();
}
我不知道为什么会发生这种情况,它似乎在创建新对象和初始化对象之间处于一个恒定的循环中。
public class App {
Character hero = new Character();
charCreation charCreation = new charCreation();
public static void main(String [] args){
App app = new App();
app.run();
}
void run(){
charCreation.charCreate();
}
假设我有一个A类:
class A
{
private String value;
private B field;
public C otherField;
}
class C
{
private String otherValue;
}
class B
{
private String name;
}
现在,如果我做了一个A.class.getClasses(),我会得到一个带有一个元素的数组(这个元素是公共的,这是基于Class.java的javadoc所说的)。
我的问题是:是否有一种方法可以获得类的公共+私有字段列表?
谢谢
如何只在Java中扩展函数?(不是类扩展)
/*Example:
* year 1990 Alex Kumar
* year 1990 Jhon Ya'ay
* made this: do not touch modify here */
public static void OldMade()
{
Connect("+1800PIZZA");
Say("MYID:69");
Request("PIZZACITROEN_BLACK");
}
/*Example:
* year 2
对Java有经验,但对Kotlin来说还挺新鲜的。
当子类param与超类val同名时.Android不会抛出验证错误,说明需要@重写注释。但是,试图从业务内部访问name引用的是param name,而不是超类val (我觉得这是一种覆盖)。
class Business(
val name: String
) {
// ...
}
class FirstBusiness(name: String) : Business(name) {
val test = name; // name referencing param name rather than super