黑马程序员技术交流社区
标题:
自学过程中遇到3个面向对象的分析题,想不通,求帮忙
[打印本页]
作者:
Mr.zhao
时间:
2015-12-12 10:21
标题:
自学过程中遇到3个面向对象的分析题,想不通,求帮忙
分析程序看有没有问题,如果有,说出原因
1、这个编译时通过的
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
复制代码
2、无法从静态上下文中引用非静态 方法 doSomething()
public class Something {
public static void main(String[] args) {
Something s = new Something();
System.out.println("s.doSomething() returns " + doSomething());
}
public String doSomething() {
return "Do something ...";
}
}
复制代码
1和2,单单第2个看还是看的懂得,但是加上1就把我看蒙了,1里面的addOne()又不是静态的为啥能用
3、
//此处,Something类的文件名叫OtherThing.java
class Something {
private static void main(String[] something_to_do) {
System.out.println("Do something ...");
}
}
复制代码
3、这个这真心不理解,这题考得不会就是private要改成public吧?那(此处,Something类的文件名叫OtherThing.java)这句话有啥意义,还是我想多了
作者:
Mr.zhao
时间:
2015-12-12 11:06
第一个想明白了静态要调用非静态,要先创建对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2