java怎么创建一个新的类_java - 继承,创建一个新类[关闭](java - Inheritence, make a new class [closed])...

java - 继承,创建一个新类[关闭](java - Inheritence, make a new class [closed])

如何使用实现界面画布的(x,y)的半径和中点从这些代码中创建一个新的圆类?

public abstract class GraphicalObject {

protected int x;

protected int y;

protected int color;

public abstract void setColor(bye r, byte g, byte b);

public abstract void setPosition(int x, int y);

}

public interface Canvas {

public void draw(GraphicalObject object);

}

How can i make a new circle class from these code, with the radius and midpoint of (x,y) that implemented the interface canvas?

public abstract class GraphicalObject {

protected int x;

protected int y;

protected int color;

public abstract void setColor(bye r, byte g, byte b);

public abstract void setPosition(int x, int y);

}

public interface Canvas {

public void draw(GraphicalObject object);

}

原文:https://stackoverflow.com/questions/19811524

2020-01-01 07:01

满意答案

试试以下:

public class Circle extends GraphicalObject implements Canvas {

// implement all your method

}

编辑:从该抽象代码创建一个新类:

您无法实例化抽象类或接口 - 您可以实例化其子类/实现者之一。

您可以为GraphicalObject类创建Anonymous Class ,如:

GraphicalObject object = new GraphicalObject() {

public void setColor(bye r, byte g, byte b){

// an implementation of an interface method

}

public void setPosition(int x, int y){

// an implementation of an interface method

}

};

Try following:

public class Circle extends GraphicalObject implements Canvas {

// implement all your method

}

Edit: Make a new class from that abstract code:

You can not instantiate an abstract class or an interface - you can instantiate one of their subclasses/implementers.

You can create Anonymous Class for your GraphicalObject class like:

GraphicalObject object = new GraphicalObject() {

public void setColor(bye r, byte g, byte b){

// an implementation of an interface method

}

public void setPosition(int x, int y){

// an implementation of an interface method

}

};

2013-11-06

相关问答

只需为JTree创建JTreeSelectionListener的构造函数: public class Frame1 extends JFrame {

private JTree jtree = new JTree();

public Frame1() {

jtree.addTreeSelectionListener(new JTreeSelectionListener(jtree));

}

}

public class JTreeSelectionLi...

在继承中,方法被覆盖,而字段和静态成员被遮蔽/隐藏。 因此,如果您在父级中初始化一个字段,如果您在子级中定义相同的字段,它将不会对子级产生任何影响,因为它将被遮蔽。 您没有初始化隐藏父字段且值为null子字段。 您需要在子构造函数中分别初始化子类的成员。 public Mammal_Groomer(Mammal a_mammal){

super(a_mammal);

this.the_animal = a_mammal;

}

阅读有关阴影/隐藏和覆盖的更多信息: 覆盖与隐藏Jav...

根据您的评论,您是否在1个文件中拥有所有这些内容? 每个“部分”都应该在它自己的文件中。 所以一个名为ArithmeLog.java的文件,其下面的所有内容都在ArithmeLog.java之下,然后是一个名为SongLog.java的文件,然后该文件SongLog.java其下的所有内容,等等。 Based on your comment, do you have all of this in 1 file? Each 'section' should be in it's own file. ...

C扩展B,这意味着它将具有与B相同的方法,并且在这种情况下B已经覆盖了该方法,因此C也将具有它。 C extends B, which means that it will have the same methods as B and it this case B has overridden the method, thus C will also have it.

我认为答案是“不”。 :) Java没有提供从类型本身提取类型参数的方法,只提供具有该类型的参数。 例如: class ClassB> {

I getSomething(ClassA) { ... }

}

...工作正常,可以传递一个T的实例,以提取I 。 但是要从方法中删除参数(仅用于确定I的类型),您需要一种方法来从T本身确定I,并且没有这种方法。 通常,Java中的类型推断仅限于在参数类型之间和/或参数和返回类型之间建立关系。 ...

那是因为这个“某人”想要实现一种在官方类库中找不到的列表。 在某些情况下,具体要求将通过实现IList或任何其他(IList,ICollection ...)来强制实现特定类型的列表,以便让您自己的类与.NET API或第三方类兼容。 好吧,在一天结束时,这是一个界面的目标,不是吗? :) 合同! That's because this "someone" wanted to implement a kind of list that's not found in the official cla...

我认为依赖注入并不像那样,它只会注入你正在创建的当前对象。 这可能会破坏目的,但你需要做的是: import { Validation } from 'aurelia-validation';

export class Supplier extends BaseModel {

@inject(Validation)

constructor(validation) {

super(validation);

// Do stuff

}

}

另一种方法是从基类中的容器中显式加...

泛型中的继承有点不同。 在Java ArrayList不是ArrayList的子类型。 Java和继承中的泛型 Inheritance in Generics works a bit differently. In Java ArrayList is not a subtype of ArrayList. Generics in Java and Inheritance

试试以下: public class Circle extends GraphicalObject implements Canvas {

// implement all your method

}

编辑:从该抽象代码创建一个新类: 您无法实例化抽象类或接口 - 您可以实例化其子类/实现者之一。 您可以为GraphicalObject类创建Anonymous Class ,如: GraphicalObject object = new GraphicalObject() {

pu...

相关文章

http://puretech.paawak.com/2009/04/29/how-to-make-c

...

Java类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性的值是什么,则是由这个

...

Java 继承 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承可以

...

java子类继承父类问题 求解释! 虽然做了几年的开发 但确实不明白为什么? class Foo

...

Windowsis an extremely effective and a an efficient

...

在使用jsp生成web图片时遇到这个问题,这是源代码中的一条语句,源代码可以执行,可是一将源码放入ec

...

Gao Yuanyuan from after 2005 drama " world fir

...

6月29日 类的继承总结: 1、继承的格式: 1.1继承的关键字:extends 1

...

.net的动态编译功能很好,但是有个问题,动态编译的代码,每次执行后,都会产生一个新的assembly

...

一、storm nimbus 单节点问题概述 1、storm集群在生产环境部署之后,通常会是如下的结构

...

最新问答

如果启用了复制处理程序,请确保将其置于其中一个安全角色之后。 我见过人们做的另一件事是在不同的端口上运行admin。 最好在需要auth的页面上使用SSL,这样你就不会发送明确的密码,因此管理和复制将发生在8443上,而常规查询将在8080上发生。 如果您要签署自己的证书,请查看此有用的SO页面: 如何在特定连接上使用不同的证书? I didn't know that /admin was the context for SOLR admin because /admin does not re

第一:在您的样本中,您有: 但是你在询问 //td[@class=‘CarMiniProfile-TableHeader’] (注意TableHeader中的大写'T')。 xpath区分大小写。 第二:通过查询// td [@ class ='CarMiniProfile-TableHeader'] / td,你暗示你在外部td中有一个'td'元素,而它们是兄弟姐妹。 有很多方法可以在这里获得制作和模型

这是你的答案: http://jsfiddle.net/gPsdk/40/ .preloader-container { position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background: #FFFFFF; z-index: 5; opacity: 1; -webkit-transition: all 500ms ease-out;

问题是,在启用Outlook库引用的情况下, olMailItem是一个保留常量,我认为当您将Dim olMailItem as Outlook.MailItem ,这不是问题,但是尝试设置变量会导致问题。 以下是完整的解释: 您已将olMailItem声明为对象变量。 在赋值语句的右侧,在将其值设置为对象的实例之前,您将引用此Object 。 这基本上是一个递归错误,因为你有对象试图自己分配自己。 还有另一个潜在的错误,如果之前已经分配了olMailItem ,这个语句会引发另一个错误(可能是

我建议使用wireshark http://www.wireshark.org/通过记录(“捕获”)设备可以看到的网络流量副本来“监听”网络上发生的对话。 当您开始捕获时,数据量似乎过大,但如果您能够发现任何看起来像您的SOAP消息的片段(应该很容易发现),那么您可以通过右键单击并选择来快速过滤到该对话'关注TCP Stream'。 然后,您可以在弹出窗口中查看您编写的SOAP服务与Silverlight客户端之间的整个对话。 如果一切正常,请关闭弹出窗口。 作为一个额外的好处,wireshar

Android默认情况下不提供TextView的合理结果。 您可以使用以下库并实现适当的aligntment。 https://github.com/navabi/JustifiedTextView Android Does not provide Justified aligntment of TextView By default. You can use following library and achieve proper aligntment. https://github.com/

你的代码适合我: class apples { public static void main(String args[]) { System.out.println("Hello World!"); } } 我将它下载到c:\ temp \ apples.java。 以下是我编译和运行的方式: C:\temp>javac -cp . apples.java C:\temp>dir apples Volume in drive C is HP_PAV

12个十六进制数字(带前导0x)表示48位。 那是256 TB的虚拟地址空间。 在AMD64上阅读wiki(我假设你在上面,对吗?)架构http://en.wikipedia.org/wiki/X86-64 12 hex digits (with leading 0x) mean 48 bits. That is 256 TB of virtual address space. Read wiki on AMD64 (I assume that you are on it, right?) ar

这将取决于你想要的。 对象有两种属性:类属性和实例属性。 类属性 类属性对于类的每个实例都是相同的对象。 class MyClass: class_attribute = [] 这里已经为类定义了MyClass.class_attribute ,您可以使用它。 如果您创建MyClass实例,则每个实例都可以访问相同的class_attribute 。 实例属性 instance属性仅在创建实例时可用,并且对于类的每个实例都是唯一的。 您只能在实例上使用它们。 在方法__init__中定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值