标题: 方法中的类 [打印本页] 作者: 袁春龙 时间: 2011-7-15 19:59 标题: 方法中的类 方法中定义的类是不是一定要实现某个接口?作者: 匿名 时间: 2011-7-15 20:09
接口是一种特殊抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现作者: 匿名 时间: 2011-7-15 20:11
不用啊,这种东西如果自己不知道就在Eclipse里面敲一下就好了。[code]public class a1 {
public static void main(String[] args) {
class a {
}
}
}
class a {
public void abc() {
class b {
}
b b = new b();
}
}[/code]很简单的~... 这不就说明不管是普通方法还是main方法里都可以写不实现接口的类了么。不知道,就试试看么~... Eclipse不报错,那就是能行~....作者: 匿名 时间: 2011-7-15 22:13
不是必须的。使用内部类最吸引人的理由是:每个内部类都能独立的继承自一个(接口的)实现,所以,无论外部类是否已经集成了某个(接口的)实现,对于内部类都没有影响。可以解决java多继承问题。。
方法中的内部类也叫局部内部类,有的时候,你解决一个复杂的问题,想创建一个类来辅助你的解决方案,但是又不希望这个类是公共可用时也使用内部类。这时可以不用继承接口。作者: 袁春龙 时间: 2011-7-15 23:16 标题: 回复 3 # 的帖子 要是你的class b里面还有一个方法 ,请问我该如何调用那个方法?
public class Interior{
public static void main(String[] args){
// A a = new A();
}
}
class A{
public void withOut(){
class B{
public void withIn(){
System.out.println("Hello heima");
}
}
B b = new B();
}
}
[ 本帖最后由 袁春龙 于 2011-07-15 23:18 编辑 ]作者: 王光保 时间: 2011-7-16 17:32
不用的,但有一点非常重要就是方法中类不能访问外部类的局部变量。作者: 匿名 时间: 2011-7-17 02:00
方法中的类,不就是内部类嘛,而且是局部内部类。和实现接口没什么关系。
楼上什么叫外部类的局部变量?外部类中的叫成员变量,方法中的才叫局部变量。
需要注意的是,局部内部类访问方法的局部变量时,只能访问final关键字修饰的