JAVA 实例 技术教程文章

java – 如何使用在不同类中实例化的对象的方法?

基本上我在我的Gui类中有一个方法可以打印和附加文本,我需要在其他类中使用该方法,比如我的Player类.我该如何使用该方法?如果我要在播放器类中制作另一个Gui对象,它会创建另一个JPanel,这会不好吗?如果我需要将该方法移动到另一个类是我的客人建议.多谢你们!解决方法:如果Player类需要在GUI类上调用方法,为什么不让Player类将GUI实例作为构造函数参数?因此,无论代码创建什么,播放器都必须告诉它应该使用哪种GUI进行此类方法调用...

如何使用java检查EC2实例是否在AWS中运行或停止?【代码】

我怎么知道我的实例正在使用AWS-java-sdk在EC2上运行或停止DescribeInstancesRequest dis =new DescribeInstancesRequest(); dis.setInstanceIds(instancesList);System.out.println(ec2.describeInstances(dis));我尝试这个,但它不给我输出,因为我需要 例如,任何一个帮助都在EC2上运行或停止?解决方法: DescribeInstancesRequest dis = new DescribeInstancesRequest(); dis.setInstanceIds(instancesList); DescribeInstan...

java – 是静态方法线程安全的类实例【代码】

我有一个像下面这样的静态方法public static void foo(){final ClassA a = new ClassA();} 我在classA中有两个哈希映射. 那些哈希映射线程安全吗?解决方法:目前尚不清楚是否要使用多个线程访问对象a内的哈希映射,或者使用多个线程调用方法foo. 在第一种情况下,集合的线程安全性与外部上下文无关,即它是在静态上下文中创建的.所以不,如果您尝试从具有多个线程的对象a访问哈希映射,则会导致意外行为.您需要使用synchronized块来管理...

java – 类的两个实例可以并行调用方法(在某个对象上同步)【代码】

我有一个方法,如:public void processChildNodes(Node result, Node source) {synchronized (source) {NodeList nodes = source.getChildNodes();for (int i = 0; i < nodes.getLength(); i++) {processNode(result, nodes.item(i));}}}现在让我说我试图用相同的源(方法的第二个参数)调用具有该方法的类的两个不同实例的processChildNodes,这两个执行可能并行吗?解决方法:您正在尝试进行对象锁定.如果传递相同的对象,那么您的处理...

Java Spring Bean中的实例变量【代码】

我正在开发一个Java Spring MVC项目,我犹豫在Java Spring Bean中使用实例变量.我想问一些关于这个主题的问题. 我在Java Spring Bean中使用了一个实例变量,它的类型是String.private String abc = "hell";众所周知,Java Spring默认范围是Singleton,它们是在项目启动时构建的. .它是单实例,我的实例变量必须是线程安全的. 我在bean的方法中使用了这个变量“abc”,当多个线程到达它们会损坏每个线程数据的一致性吗? 举一个例子,线程1...

Java类的定义及其实例化

类必须先定义才能使用。类是创建对象的模板,创建对象也叫类的实例化。 下面通过一个简单的例子来理解Java中类的定义: public class Dog{ String name; int age; void bark(){ // 汪汪叫 System.out.println(“汪汪,不要过来”); } void hungry(){ // 饥饿 System.out.println(“主人,我饿了”); } } 对示例的说明: public 是类的修饰符,表明该类是公共类,可以被其他类访问。...

C#实例拷贝/传递对象引用与Java不同?【代码】

class Player {private Location location;public Location getLocation(){return location;}public void setLocation(Location location){this.location = location;} }…class Location {int x,y,z;public Location(int x, int y, int z){this.x = x;this.y = y;this.z = z;}public Location(Location location){this.x = location.x;this.y = location.y;this.z = location.z;}public void updateLocation(Location location) /...

实现单实例Java应用程序

我不确定这是Windows还是Java问题. 我有一个在Windows下运行的Java应用程序.我已将特定文件扩展名(例如.xyz)与我的应用程序相关联,因此当我双击.xyz文件时,我的Java应用程序启动,而main()方法将.xyz文件视为其第一个参数. 但是当我单击另一个.xyz文件时,会启动一个新的Java应用程序实例.我更希望现有的应用程序来处理新文件. 有没有标准的方法来做到这一点,还是我需要从头开始编程? 如果是后者,我认为我必须做这样的事情:当启动应...

java – 如何获取测试类实例JUnit从ClassRunner内部运行测试用例?【代码】

我有一个扩展BlockJUnit4ClassRunner的自定义测试运行器,我想获得在我的自定义测试运行器中的BlockJUnit4ClassRunner中实例化的测试类的实例.解决方法:我想出了这一个. 你可以做的是覆盖BlockJUnit4ClassRunner中的createTest(),并将super.createTest()的结果传递给你选择的方法.例如:public class CustomTestRunner extends AbstractTestRunner {@Overridepublic abstract void prepareTest(final Object test) {// have your wa...

java – 为什么我的字段为null,即使它应该立即实例化?【代码】

我声明并立即实例化的字段为空.这是一个示例代码:public class NullFieldSSCCE {static abstract class Parent {List<String> values;Parent() {values = getValues();}protected abstract List<String> getValues(); }static class Child extends Parent {String param1="test1";String param2="test2";Child() {}@Overrideprotected List<String> getValues() {return Arrays.asList( new String[] {param1, param2} );}}publ...

声明类Java实例的奇怪运行时错误【代码】

我正在用java制作一个游戏并且一致地得到了最奇怪的bug.我有一个叫做武器的课.然后我创建一个名为primary的实例.在我创建一个实例并将其称为辅助实例之后.由于一些奇怪的原因,初级被二级的值覆盖.我的导师和我都看着它,无法弄明白.这是代码:public class weapon {static String type;static String name;static int weight;static int damage;static int dodge;weapon(String c, String n, int w, int da, int dod) {type = c;nam...

java – 如何从if-else语句创建/实例化对象?【代码】

由于某种原因,在尝试根据if-else语句的结果从不同的子类创建对象时,以下代码将不起作用:if (option == 1) {UndergradTA student = new UndergradTA();student.setIsUnderGrad(true);} else if (option == 2) {GradTA student = new GradTA();student.setIsGrad(true); }当我稍后尝试在主要方法中使用“学生”课程上的方法时,它不允许我说“学生无法解决”.解决方法:将您的代码更改为:UndergradTA student = null; GradTA stud = ...

java – 使用类中的过程,何时是扩展类的最佳时间而不是创建该类的实例?

在Java中,我创建了一个类CommonExcelFunctions来存储我在几个项目中使用的过程.课堂上没有抽象程序.要使用这些,我试图决定是否应该让我的其他项目扩展这个类,或者我是否应该实例化它并通过实例化对象访问它们.哪种方式最有意义?解决方法:永远不要仅仅为了代码重用而使用继承.子类关系应该是一个有意义的is-a关系,特别是在Java这样只有单继承的语言中. 对于这样的实用函数,您描述静态可能是最好的.否则,使用组合,即创建成员.

java – 在不实例化对象的情况下调用外部方法【代码】

我想知道是否有可能调用外部类的方法而不必实际声明该类的对象.他们设置的方式导致每次调用对象使用的方法时,存储在对象中的ArrayList会清空. 如果我可以在没有对象的情况下调用该方法,那么我可以解决我的问题. 提前致谢. 调用类:public class BookingScreen extends Activity {GAClass sendApplication = new GAClass();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setCo...

JavaFX单实例应用程序【代码】

当用户“关闭”程序时单击所有退出按钮,以便不再有托盘图标时,尝试这样做. 我调用了Platform.setImplicitExit(false);所以程序仍然在后台运行. 我试图学习如何使用它,当用户重新单击运行jar的.exe文件时,而不是运行新程序,它重新显示在后台运行的程序.Platform.setImplicitExit(false);解决方法:这是基于博客文章中的解决方案:Java Single Instance Application. 该解决方案使用“套接字技术”:With this technique we start lis...

java – Eureka Server – 列出所有已注册的实例【代码】

我有一个Spring Boot应用程序也是一个Eureka服务器.我想列出已注册到此Eureka Server的所有实例.我该怎么做?解决方法:使用EurekaServerContextHolder.getInstance()获取注册表.getServerContext().getRegistry()然后使用注册表列出所有应用程序PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();Applications applications = registry.getApplications();applicat...

我是否需要为多线程Java GRPC(1.1.2)客户端池化ManagedChannel实例?

TL; DR grpc-java的ManagedChannel是否具有隐式连接池,或者ManagedChannel实例的池是否是用户的责任? 所以,我正在使用带有protoc 3.2.0的java grpc 1.1.2.在我看来,grpc为客户端提供的连接池没有隐含的支持(截至目前).但是,似乎在grpc中抽象连接,即ManagedChannel对象确实可以使用多个TCP连接.那是对的吗?如果是这样,ManagedChannel是否带有连接池?如果是这种情况,我可能不必担心连接池,因为该通道是线程安全的,我只能在我的客户...

java – 为什么我不能使用实例变量访问接口的静态方法【代码】

为什么我不能使用实例变量访问接口的静态方法.public class TestClass {public static void main(String[] args) {AWD a = new Car();a.isRearWheelDrive(); //doesn't compile} }interface AWD {static boolean isRearWheelDrive() {return false;} }class Car implements AWD { }解决方法:静态接口方法不由子类继承 您无法通过实例访问接口的静态方法.你必须静态访问它们.这与允许通过实例访问静态方法的类略有不同,但通常标记...

使用DateTimeFormatter.ofLocalizedTime(FormatStyle.FULL)和LocalTime实例时的java – DateTimeException【代码】

在Java 8 Date Time API中,我将使用DateTimeFormatter API打印时间,如下所示:DateTimeFormatter timeFormatter = DateTimeFormatter.ofLocalizedTime(FormatStyle.FULL); LocalTime time = LocalTime.of(12, 45, 0); System.out.println(timeFormatter.format(time));FormatStyle.FULL – 此格式样式适用于LocalDate和LocalDateTime实例.但是使用LocalTime实例抛出异常:java.time.DateTimeException: Unable to extract value: ...

Java中的不可变数据 – 静态或实例运算符?【代码】

想象一下完全不可变的任何Java类.我将使用以下作为示例:public class Point2D {public final int x;public final int y;public Point2D(final int x, final int y) {this.x = x;this.y = y;} }现在考虑在这个类上添加一个运算符:一个方法,它接受一个或多个Point2D实例,并返回一个新的Point2D. 这有两种可能性 – 静态方法或实例方法:public static Point2D add(final Point2D first, final Point2D second) {return new Point2D...