public class helloTest {
public static void main(String[] args) {
Outer out = new Outer();
out.myInner1 = out.new Inner1();
out.myInner2 = out.new Inner2();
int value = out.getValue();
System.out.println(value);
return;
}
}
class Class1 {
protected int a = 1;
}
class Class2 {
protected int b = 2;
}
class Outer{
private int c = 3;
Inner1 myInner1;
Inner2 myInner2;
class Inner1 extends Class1{
private int d = 4;
public int getValue() {
return this.d + this.a;
}
}
class Inner2 extends Class2{
private int e = 5;
}
public int getValue() {
return this.c + this.myInner1.getValue() + this.myInner2.b + this.myInner2.e;
}
}
待实现的多个接口有相同的方法名时
* 要实现的2个接口 有相同的方法名 不能同时直接实现 */
interface Interface1{
void onClick();
}
interface Interface2{
void onClick();
}
/* 只能实现一个 */
class Class1 implements Interface1 {
/* 第一个接口的方法实现 */
@Override
public void onClick() {
// TODO Auto-generated method stub
System.out.println("this is click from interface1");
}
/* 第二个接口的方法实现 --换个名字 */
private void onClick2() {
System.out.println("this is click form interface2");
}
/* 第二个通过内部类来实现 */
class Inner implements Interface2{
@Override
public void onClick() {
// TODO Auto-generated method stub
/* 回调 !!!!! */
onClick2();
return;
}
}
public Inner getInnerInstace() {
return new Inner();
}
}
public class helloTest {
public static void main(String[] args) {
Class1 c = new Class1();
c.onClick();
c.getInnerInstace().onClick();
return;
}
}