小编Den*_*eng的帖子

为什么不使用公共成员函数

即使我将类成员函数公开并且被其他客户端应用程序使用,函数的实现细节也永远不会暴露给客户端.为什么要使成员函数受保护或私有?

例如,如果我的类是Math,使用公共函数sum(int,int b),那么只有接口/声明部分将暴露给客户端而不是实现.

public class Math
{
      public int sum(int, int b)
      {
               //Implementation
      }
}


public class Client
{
         Math objMath = new Math();
         objMath.Sum(4,10);//It will not display implementation inside sum than why to avoid
}
Run Code Online (Sandbox Code Playgroud)

c# class public

0
推荐指数
1
解决办法
335
查看次数

后退按钮就像家一样

是否可以更改此代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

    }
    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

所以,当我点击后退按钮时,它就像一个主页按钮?

android

0
推荐指数
1
解决办法
2540
查看次数

Java Method.getName()与string不匹配

我已经用几种不同的方法对它进行了测试.我比较的字符串s与日志文件中显示的字符串完全相同.撇号是为了确保没有空格.有谁知道发生了什么?

import java.lang.reflect.Method;
import android.util.Log;

public class Button {
    public Button () {
        for(Method m1:MyOtherClass.class.getMethods()) {
        String s = m1.getName();
            if(s == "Update") {
                Log.i("result","true");
            }
            Log.i("test", "'" + s + "'");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java methods matching

0
推荐指数
1
解决办法
1504
查看次数

为什么我会得到这种奇怪的输出?

我有三节课

public abstract class Champion 
{
    private String name;

    public Champion(String ChName)
    {
        name = ChName;

    }
    public void setName(String ChName)
    {
        name = ChName;
    }
    public String getName()
    {
        return name;
    }

}
Run Code Online (Sandbox Code Playgroud)

第二:

public class Mage extends Champion {

    public Mage(String ChName)
    {
        super(ChName);
    }

    public String toString()
    {
        return String.format("%s",super.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

我的主要人物:

public class JavaApplication2 {

    public static void main(String[] args) {
      Mage mage = new Mage("ori");
      System.out.println("champion is "+mage);          
    }

}
Run Code Online (Sandbox Code Playgroud)

输出应该是"冠军是ori"但我得到:"冠军是javaapplication2.Mage@1fee6fc"

我究竟做错了什么?

java

0
推荐指数
1
解决办法
98
查看次数

该程序不会打印图中最小的区域和周长

我正在尝试打印最小的区域和周边,但是输出的所有区域都是圆类的周长和面积.这是我的主要方法(for循环一直在底部):

public static void main (String [] args)//print Figure(Figure[]) 
{
    System.out.println("TESTING FIGURES");
    System.out.println("===============\n\n\n");

    // form an array of figures
    System.out.println("We form an array of 4 figures");
    Figure[] set1 = new Figure[4];
    set1[0] = new Circle(10);
    set1[1] = new Triangle(10, 6, 8);
    try
    {
        set1[2] = new Triangle(5, 12, 7);
    }    
    catch (IllegalArgumentException e)
    {
       System.out.println("We try to form an illegal triangle");
    }    

    set1[2] = new Parallelogram(10, 20, Math.PI / 3);
    set1[3] = new Square(6);

    System.out.println("The array is ");
    printArray(set1);

    // …
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
481
查看次数

将delete作为运算符或函数调用有什么区别吗?

如果我使用Visual Studio 2010,以下语句之间是否有任何区别:

wchar_t *wszChar = new wchar_t;
delete wszChar;
Run Code Online (Sandbox Code Playgroud)

wchar_t *wszChar = new wchar_t;
delete(wszChar);
Run Code Online (Sandbox Code Playgroud)

我查看了调试器,似乎完成了同样的事情.

两者之间怎么样:

wchar_t *wszChar = new wchar_t[10];
delete[] wszChar;
Run Code Online (Sandbox Code Playgroud)

wchar_t *wszChar = new wchar_t[10];
delete(wszChar);
Run Code Online (Sandbox Code Playgroud)

从我所看到的情况来看,在所有4种情况下,内存都被正确释放.

c++ visual-studio-2010

0
推荐指数
1
解决办法
140
查看次数

使用Java中的数组列表遇到超出范围的异常错误

我正在尝试为Java中的arraylists创建一个bubble swap方法,但是我遇到了一个错误.这是我的代码:

public static void BubbleSort()
{
    list.remove("");
    for (int i = list.size(); i > 0; i--)
    {
        for (int j=0; j < i; j++)
        {
            if(Integer.valueOf((String) list.get(j)) < Integer.valueOf((String) list.get(j + 1)))
                Swap(list.get(j), list.get(j + 1));
        }
    }
    System.out.println(list);
}
Run Code Online (Sandbox Code Playgroud)

这是它调用的Swap方法:

public static void Swap(Object object, Object object2)
{
    Object spotC = object; 
    list.set(list.indexOf(object), object2); 
    list.set(list.indexOf(object2), spotC);
}
Run Code Online (Sandbox Code Playgroud)

java sorting arraylist bubble-sort indexoutofboundsexception

0
推荐指数
1
解决办法
695
查看次数

为什么我不能在代码中调用任何方法?

我正在尝试将泛型和OOP实现到数据结构,但我遇到了一个问题.当我尝试测试我的代码时,我的实例无法调用任何方法,这就是我所拥有的:

public class Queue<T> extends AbstractQueue<T> {
    // methods here
    @Override
    public Node<T> peek() { return head; }
}

public class QueueDemo {
    Queue<String> q = new Queue<String>();
    q.peek();
}
Run Code Online (Sandbox Code Playgroud)

但是我的IDE会抛出错误:

Cannot resolve symbol 'peek'
Run Code Online (Sandbox Code Playgroud)

我确定我在这里只是遗漏了一些简单的东西,有人能说出来吗?谢谢!

java oop generics

0
推荐指数
1
解决办法
51
查看次数

为什么我的数组打印所有零而不是一个范围内的所有整数?

阵列a正在打印全零,而它应该打印的值i(这是所有整数的从mn,既也整数)

System.out.println("\n enter the values of m and n");
int m,n,i,j=0;
int[] a=new int[100]; 
m=in.nextInt();
n=in.nextInt();
for(i=m;i<=n;i++)
{
    a[j]=i;//array a is storing the value of i
    j++;
    System.out.println(a[j]);//printing array a
}
Run Code Online (Sandbox Code Playgroud)

java arrays

0
推荐指数
1
解决办法
698
查看次数

通过String调用方法

我想通过使用字符串来调用方法.我知道这是可能的; 从我的理解,反思是要走的路.但是,我很难让它工作,这就是我想要的.

例如:

String method ="punch";

int punch(){
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

我想通过字符串名称调用该方法.有人能告诉我一个例子吗?

public class foo {
    String method ="punch";

    int punch() {
        return 1;
    }

    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
        Class<?> myClass = Class.forName("foo");
        Method myMethod = myClass.getMethod("punch");
        Object retObject = myMethod.invoke(null);
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能得到1号?

java

0
推荐指数
1
解决办法
81
查看次数