免责声明--这是学校学期项目的一部分。
我们应该使用Memento模式来保存对象状态。这个对象是MVC中的一个模型。所以我现在的方法是(简化):
public class Model {
// ...
public static class Memento implements Serializable {
protected Stats stats;
public Memento(Stats stats) {
this.stats = stats;
}
}
public static class Stats
我一直在研究一个实例化方法,它允许我将各种类似的类打包到一个外部类中。然后,通过将每个类型的名称传递给构造函数,我可以实例化每个唯一的类类型。经过大量的研究和错误,这是我想出来的。为了证明我的问题,我留下了一个错误。
import java.lang.reflect.Constructor;
public class NewTest
{
public static void main(String[] args)
{
try
{
Class toRun = Class.forName("NewTest$&
我想创建一个只能从超类的实例访问的子类,但不能从超类本身访问,以确保超类的变量已经初始化。例如:
public class SuperClass
{
int num;
SuperClass(int number){
num = number;
}
//Make this\/ accessible from instance only
class SubClass
{
SubClass(){}
public int read(){
retur
以下代码:
public class TestInnerClass {
public static void main(String[] args) throws IOException {
new TestInnerClass().serializeInnerClass();
}
private void serializeInnerClass() throws IOException {
File file = new File("test");
InnerClass inner = new Inn
我是Java新手,正在尝试编写一个简单的程序来帮助我进一步理解面向对象的编程。
我决定做一个电话节目。然而,在下面程序的第5行,我试图创建一个phone类的实例,我得到了以下错误:
“没有OOPTutorial类型的封闭实例可访问。必须用OOPTutorial类型的封闭实例限定分配(例如x.new A(),其中x是OOPTutorial的实例)。”
下面是程序:
public class OOPTutorial {
public static void main (String[] args){
phone myMobile = new phone();
我想要创建一个包含实体的模拟。有两种实体,复杂的和简单的。当我实例化一个简单的模拟时,我希望这个简单的实体被实例化,当我实例化一个复杂的模拟时,我希望这个复杂的实体被实例化。
实体:
class ComplexEntity extends Entity {
public ComplexEntity(){}
}
class SimpleEntity extends Entity {
public SimpleEntity(){}
}
class Entity {
public Entity(){}
}
模拟:
class ComplexSimulation exte
我有以下类:
import java.awt.Color;
import java.util.Vector;
public class MyClass {
private ImageSignature imageSignature;
private class ImageSignature implements Serializable {
private static final long serialVersionUID = -6552319171850636836L;
private Vector<Color> color
我在这里遇到了一个奇怪的结果,我不确定这是Java中的错误还是预期行为。我有一个内部类,在这个类上我使用反射来获取声明的字段(class.getDeclaredFields())。但是,当我循环遍历字段列表并检查各个类型时,"this“字段返回的是外层类而不是内部类。
这是预期的行为吗?这对我来说似乎很奇怪。
例如:
import java.lang.reflect.Field;
public class OuterClass {
public class InnerClass{
public String innerClassString;
在使用Java中定义的类创建对象时,遇到了一个错误。这是我的代码:
public class encapsulation {
class Emp
{
int empId;
String empName;
}
public static void main(String[]args)
{
Emp e1 = new Emp();
}
}
但它给了我一个错误:
无法访问类型封装的封闭实例。必须使用类型封装的封闭实例来限定分配(例如,x.new A(),其中x是封装的实例)。
下面是一个屏
这是即将被序列化为字节数组的类。
public class DummyClass implements Serializable
{
private static transient final long serialVersionUID = -8483859843874771619L;
public String y;
public DummyClass(String y)
{
this.y = y;
}
public String getY()
{
return this.y;
}
我一直试图在我的iOS和安卓应用程序上实现iOS推送通知。我已经成功地在iOS上实现了这一点,然而,我仍然在为Android的实现而挣扎。当用户收到通知,用户按下通知时,我希望打开'HomeScreen‘活动,并在警报对话中显示通知中的文本。接收器处理程序和清单文件与LogCat一起显示在下面。我做错了什么,我该如何解决?
HomeScreen Java:
public class Receiver extends ParsePushBroadcastReceiver {
public Receiver(){
}
private static final S
考虑以下片段:
(我在检查一些反编译的类文件时遇到了这种语法,这是一个最小的表示)
public class Main {
public static void main(String[] args) {
Main.Inner o = new Main().new Inner() {};
System.out.println("Bye from " + o.getClass());
}
class Inner {}
}
它编译并运行良好(我测试了一堆JDK)。
请有人解释一下这是如何编译的,这段代码代表什么?
此代码创
这里我有两个类ClientToSendCalculable.java
import java.io.*;
import java.net.*;
public class ClientToSendCalculable implements Serializable
{
public ClientToSendCalculable(int port)
{
try
(
Socket s = new Socket("localhost", port);
ObjectOutputStr
我是Java新手。
我的文件A.java如下所示:
public class A {
public class B {
int k;
public B(int a) { k=a; }
}
B sth;
public A(B b) { sth = b; }
}
在另一个java文件中,我尝试创建A对象调用
anotherMethod(new A(new A.B(5)));
但是由于某种原因,我得到了错误:No enclosing instance of type A is accessible. Must qualify the a
这是的后续问题。
当我编写代码的最终版本时,我第一次这样写:(只显示了相关部分)
@Configuration
public class WebMvcConfiguration
{
@Bean
public WebMvcConfigurerAdapter apiWebMvcConfiguration()
{
return new ApiWebMvcConfiguration();
}
public class ApiWebMvcConfiguration extends WebMvcConfigurerAdapter
{
我在android上,我试图将一个对象列表保存到一个文件中,但我总是得到一个例外: java.io.NotSerializableException: android.app.Application。
我试图找出导致这种情况的原因,但我发现的只是在试图序列化上下文对象时抛出了这个错误,但我甚至没有尝试序列化任何与Application或上下文相关的内容。
DataFileManager.java
public class DataFileManager implements Serializable {
public static final String FILE_NAME =
我将测试用例中的createSocket()方法重写为模拟套接字中的pas。这样做之后,对象就不再可以序列化了。
下面是一个不起作用的例子。
Foo.java
import java.io.Serializable;
public class Foo implements Serializable {
private static final long serialVersionUID = 3109852436898487119L;
public void bar() {
System.out.println("Foo");
}
}
我有一个下面的类的实例,我想在from中编辑它,然后在后端保存它。
public class NestedClass {
List<InnerClass> inners = new LinkedList<InnerClass>();
//getter and setter
public class InnerClass {
private String innerField;
//getter and setter
}
}
编辑:为满足@Slava Semushin的建议而编辑的示例代码。
当我实例化类
我很想了解为什么下面的实例化不会编译:
Superclass.Subclass myObject = new Superclass.Subclass();
错误消息如下:
No enclosing instance of type Superclass is accessible. Must qualify the allocation with an enclosing instance of type Superclass (e.g. x.new A() where x is an instance of Superclass).
包围实例是什么意思?为什么有这个必要?
这条消息似乎是在声
我有一个Activity,其中有一个私有类数据。在onSaveInstanceState方法中,我尝试保存这个Data实例。这是我的全部活动:
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setConten
假设我有以下内容:
public class A {
//stuff
public class B implements I {}
}
public interface I {}
public class Foo {
int bar(I i) {}
}
现在为什么Java给我一个构建错误‘不适用于类型...’当我试图在类A的主体内将B的实例传递给Foo.bar()时?
内部类不被认为是i的正确实现,因为它包含在顶级类中吗?
干杯,戴夫。
请帮帮忙,我有一个客户端和一个服务器,我正在从客户端发送一个对象,其中的代码是send packet of data:
class Data implements Serializable {
/**
*
*/
// private static final long serialVersionUID = 1L;
String a = "ok baby";
String b = "hi there";
}
public void Con
我有一个类文件
TMDB_Async.java
public class TMDB_Async {
public class GetGenres extends CustomAsyncTask<Object, Void, String> {...}
public class GetMovies extends CustomAsyncTask<Object, Void, String[][]> {...}
}
注:它的含义是:
CustomAsyncTask.java
public abstract class CustomAsyncTask<T,T,T&g
public class fakultaet1 {
public static long fakultaet(long n) {
if (n<0)
throw new FakultaetNichtDefiniertException(n);
if (n==0)
return 1;
long fakultaet = 1;
while(n>1){
fakultaet *= n; // had a litt