即使我将类成员函数公开并且被其他客户端应用程序使用,函数的实现细节也永远不会暴露给客户端.为什么要使成员函数受保护或私有?
例如,如果我的类是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) 是否可以更改此代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
所以,当我点击后退按钮时,它就像一个主页按钮?
我已经用几种不同的方法对它进行了测试.我比较的字符串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) 我有三节课
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"
我究竟做错了什么?
我正在尝试打印最小的区域和周边,但是输出的所有区域都是圆类的周长和面积.这是我的主要方法(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) 如果我使用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种情况下,内存都被正确释放.
我正在尝试为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
我正在尝试将泛型和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)
我确定我在这里只是遗漏了一些简单的东西,有人能说出来吗?谢谢!
阵列a正在打印全零,而它应该打印的值i(这是所有整数的从m到n,既也整数)
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) 我想通过使用字符串来调用方法.我知道这是可能的; 从我的理解,反思是要走的路.但是,我很难让它工作,这就是我想要的.
例如:
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号?