67,513
社区成员
发帖
与我相关
我的任务
分享
public class T{
public static void main(String[] args){
T t = new T();
t.say();
T.A a = t.new A();
a.say();
B b = new B();
b.say();
}
public void say(){
System.out.println("this is T class");
A aa = new A();
aa.say();
B bb = new B();
bb.say();
}
class A{
public void say(){
System.out.println("this is A class");
}
}
}
class B{
public void say(){
System.out.println("this is B class");
}
}
输出结果:
this is T class
this is A class
this is B class
this is A class
this is B class
public class A {
public static void main(String[] args) {
A a = new A();
a.methodA1();
a.methodA2(true);
}
public void methodA1(){
final boolean bb = true;
B b = new B(){
@Override
public void methodB() {
System.out.println("method in anonymous inner class");
if(bb){
System.out.println("bb is true");
}
}
};
b.methodB();
}
public void methodA2(final boolean b){
class C extends B{
@Override
public void methodB() {
System.out.println("method in C");
if(b){
System.out.println("b is true");
}
}
}
C c = new C();
c.methodB();
}
}
class B{
public void methodB(){
System.out.println("method in B");
}
}
public class A {
public static void main(String[] args) {
A a = new A();
a.methodA1();
a.methodA2();
}
public void methodA1(){
B b = new B(){
@Override
public void methodB() {
System.out.println("method in anonymous inner class");
}
};
b.methodB();
}
public void methodA2(){
class C extends B{
@Override
public void methodB() {
System.out.println("method in C");
}
}
C c = new C();
c.methodB();
}
}
class B{
public void methodB(){
System.out.println("method in B");
}
}