java综合

     以下自定义的简单类中,分析涉及的基础知识

 

//设计原则,设计模式的理解应用

 

//面向接口编程 

public interface InterfaceTest {

 

int p=3; //接口中定义属性默认public static final

int k=6;

void test1();

AbstraceTest1 at=new Test2();  //依赖倒转原则? 组合模式

}

 

 

//接口隔离原则

public abstract class AbstraceTest1 implements InterfaceTest {

 

int p=1;//接口变量和类变量关系

//特别标记 去掉下一行Test2注释 ,看看结果如何?

//Test2 at=new Test2();

abstract void test();

public void test1(){

System.out.print("AbstraceTest1.test1()");

}

 

    public AbstraceTest1(){

System.out.println("AbstraceTest1 construct");

}

}


//里氏代换原则
public class Test2 extends AbstraceTest1 implements InterfaceTest{//违反接口隔离原则?

     public Test2(){
super();
System.out.println("Test2 construct");
}
int p;//子类变量与父类变量关系
@Override
void test() {
System.out.println("Test2.test():InterfaceTest.p:"+InterfaceTest.p);

}

        //继承性多态
@Override  
public void test1() {
++p;
System.out.println("Test2.test1():p:="+ p);

}
     //参数性多态
public void test3(String name) {
System.out.println("Test2.test3():name:="+ name);

}

public void test3(int age) {
System.out.println("Test2.test3():age:="+ age);

}
public void innertest3(){
Test3 t=new Test3();
t.innerTest();
}
class Test3{//内部类
int q;
int m=0;
public void innerTest(){
System.out.println("Test3 innerTest p :"+p);
System.out.println("Test3 innerTest q:"+q);
System.out.println("Test3 innerTest m:"+(++m));
}
}
public void innertest4(){
Test4 t=new Test4();
t.innerTest();
}
static class Test4{//静态内部类
int q;
int m=0;
public void innerTest(){
System.out.println("Test4 innerTest q:"+q);
System.out.println("Test4 innerTest m:"+(++m));
}
}
}


public class Test {


public static void main(String[] args) {
                //以下可认为是组合模式
Test2 t2=new Test2();
t2.test1();
t2.test();
t2.at.test1();
AbstraceTest1 t1=new Test2();
t1.test1();
t1.test();
InterfaceTest t3=new Test2();
t3.test1();
Test2.Test3 innert3= new Test2().new Test3();
innert3.innerTest();
Test2.Test4 innert4=new Test2.Test4();
innert4.innerTest();
AbstraceTest1 t4=new AbstraceTest1(){

@Override
void test() {
System.out.println("t4.test():k="+(k));
}};
t4.test1();
t4.test();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值