Tag:

Android – 我们可以将OnClickListener扩展为另一个类吗?

public class A extends Activity { public void onCreate(Bundle b){ ~ Button b1 = (Button) findViewById(R.id.btn); b1.setOnClickListener(new B()); ~ } } public class B extends OnClickListener{ ~ do something public void onClick() etc.. } 有可能或有任何方法可以做到这一点吗?

在java中删除类对象

我有一个名为Point的类,如下所示: public class Point { public int x; public int y; public Point(int X, int Y){ x = X; y = Y; } public double Distance(Point p){ return sqrt(((this.x – px) * (this.x – px)) + ((this.y – py) * (this.y – py))); } protected void finalize() { System.out.println( “One point has been destroyed.”); } […]

从java应用程序下载文件

嗨我需要一些帮助从我的Java应用程序下载文件。 该url为“http://my.site.com/UICFEWebroot/QueryOneDateAllCur?lang=ita&rate=0&initDay=11&initMonth=10&initYear=2010&refCur=euro&R1=csv” 我尝试使用此代码,但结果是一个空文件 URL urlAgg = new URL(address); int lf = urlAgg.openConnection().getContentLength(); FileOutputStream fos = new FileOutputStream(“agg” + File.separator + “cambio” + gg + mm + aaaa + “.csv”); InputStream in = urlAgg.openStream(); for (int i = 0; i < lf; i++) { byte[] b = new byte[1]; in.read(b); fos.write(b); } fos.close(); in.close();

在JAVA中实例化一个抽象类?

我正在学习JAVA并继续阅读JAVA:Herbert Shildt的完整参考书 。 我在Java中学习了抽象类,但无法理解这一行背后的原因: 抽象类不能使用new运算符直接实例化。 我搜索了web和stackoverflow并跟着这些问题: 为什么我们不能在JAVA中实例化一个抽象类? 为什么我们不能在没有匿名类方法的情况下在java中实例化接口或抽象类? 在一个答案中,有人写道: 简单地说,在一个好的面向对象的程序中,你永远不应该想要实例化一个抽象类或接口。 如果你这样做,设计可能是错误的。 我不明白为什么重要的是不要为优秀的OOP设计实例化一个抽象类。 如果有人可以给出一个很好的解释,那么请帮忙。

使用Java访问其他类文件

我们刚刚开始学习Java学位,我已经获得了一个包含各种Java类的文件夹,每个文件夹都在自己的.java文件中,文件名与它所拥有的类的名称相同。 有一个文件承载一个公共类,其中包含以下内容: public static void main(String[] args) {} 这将创建另一个类的新实例,该实例存储在单独的.java文件中,并且许多类(每个类都在自己的.java文件中)似乎引用其他类而不必放置任何类似的 include(“otherclass.php”) 如果你在PHP工作。 我的问题是:这是Java如何做的事情? 因此,您可以愉快地引用其他类并从另一个.java文件创建类的新实例,只要它们位于同一目录中即可? 我希望我的问题有道理! 谢谢, 插口。

Class.forName强制转换

在Java中,将Casted结果中的Class.forName用于强制转换为类或被强制转换为类型的对象。 例如,如果你这样做了 Object a; String b = “testing”; a = (Class.forName(“java.lang.Object”)) b; 是一个Class的实例还是Object的一个实例?

Java:Class 和Class:从类的内部/外部使用时的差异

我有一个类需要使用Class参数(参见我之前的半相关问题 )。 它是: public class BaseTable { protected Class mClass; … public BaseTable(int rows, int cols, Class clasz) { … mClass = clasz; } public BaseTable(int rows, int cols) { this(rows, cols, StringTableEntry.class); //Does NOT compile: //expected [int, int, Class], but got //[int, int, Class] } … } 我想知道为什么构造函数(带有2个参数)不起作用,但是当我从外部类调用完全相同的东西时,如下所示: mSomeTable = new BaseTable(2, 2, StringTableEntry.class); […]

为什么这个类有两个构造函数?

我在幻灯片中看到了这一点,旨在说明构造函数。 我现在很困惑,因为它有两个具有相同作业的构造函数接受在第二个中将gpa设置为零。 为什么编码器需要重复this.id = id; this.name = name; this.id = id; this.name = name; 再次? 为什么这个类甚至需要两个构造函数? class Student{ private int id; private String name; private double gpa; public Student(int id, String name, double gpa){ this.id = id; this.name = name; this.gpa = gpa; } public Student(int id, String name){ this.id = id; this.name = name; […]

Java静态变量和inheritance和内存

我知道如果我有同一个类的多个实例,它们将共享相同的类变量,所以无论我有多少个类的实例,类的静态属性都将使用固定数量的内存。 我的问题是: 如果我有一些子类从它们的超类inheritance一些静态字段,它们是否会共享类变量? 如果没有,确保它们共享相同类变量的最佳实践/模式是什么?

使类通用的重点是什么?

当你有一个方法时,我明白将它声明为通用是有意义的,这样我就可以使用generics参数。 喜欢这个: public void function(T element) { // Some code… } 但是如果我可以简单地声明每个方法都是通用的,那么究竟是什么让整个类成为通用的呢?