内部类
内部类就是在一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就成为内部类,儿A类相对B类来说就是外部类了 成员内部类
package oop. dome13;
public class Outer {
private int id;
public void out ( ) {
System. out. println ( "这是外部类的方法!" ) ;
}
public class Inner {
public void in ( ) {
System. out. println ( "这是内部类的方法!" ) ;
}
}
}
package oop;
import oop. dome13. Outer;
public class Application {
public static void main ( String[ ] args) {
Outer outer = new Outer ( ) ;
Outer. Inner inner = outer. new Inner ( ) ;
inner. in ( ) ;
}
}
总结
内部类可以直接访问外部类的一些东西(外部类的私有变量,私有属性等) 例子:
package oop. dome13;
public class Outer {
private int id = 100 ;
public void out ( ) {
System. out. println ( "这是外部类的方法!" ) ;
}
public class Inner {
public void in ( ) {
System. out. println ( "这是内部类的方法!" ) ;
}
public void getId ( ) {
System. out. println ( id) ;
}
}
}
import oop. dome13. Outer;
public class Application {
public static void main ( String[ ] args) {
Outer outer = new Outer ( ) ;
Outer. Inner inner = outer. new Inner ( ) ;
inner. in ( ) ;
inner. getId ( ) ;
}
}
package oop. dome13;
public class Outer {
private static int id = 100 ;
public void out ( ) {
System. out. println ( "这是外部类的方法!" ) ;
}
public static class Inner {
public void in ( ) {
System. out. println ( "这是内部类的方法!" ) ;
}
public void getId ( ) {
System. out. println ( id) ;
}
}
}
package oop. dome13;
public class Outer {
}
class A {
}
class B {
}
package oop. dome13;
public class Outer {
public void method ( ) {
class Inner ( ) {
public void in ( ) {
}
}
}
}
package oop. dome13;
public class Test {
public static void main ( String[ ] args) {
new Apple ( ) . eat ( ) ;
new UserService ( ) {
@Override
public void hello ( ) {
}
} ;
}
}
class Apple {
public void eat ( ) {
System. out. println ( "1" ) ;
}
}
interface UserService {
void hello ( ) ;
}