10.22作业及总结

来源:互联网 发布:大数据时代杂志 编辑:程序博客网 时间:2024/06/07 20:26
一、形式参数和返回值问题:
    形式参数:
     a 基本类型:需要什么类型在实际传参的时候就会传什么类型,且形式参数的改变不会影响实际参数
     b 引用类型:
       具体类:如果形式参数是具体类,就需要创建该类的对象
       抽象类:如果形式参数是抽象类就需要自定义一个抽象类的子类来进行实例化!利用抽象类多态!
       接口:如果形式参数是接口类型,就需要自定义一个接口的子实现类,通过接口多态的形式进行实例化。
    返回值类型
     a 基本类型:如果返回值是基本类型那么前面定义什么类型就返回什么类型。
     b 引用类型:
       具体类:直接返回该类对象。
       抽象类:如果返回值是抽象类,需要返回的是该抽象类的子类对象。
       接口:如果返回值是接口类型,需要返回该接口的子实现类对象。
二、内部类的概述及访问特点
    概述: 在一个类中定义另一个类,把这种情况称为内部类
    访问特点: 成员内部类访问的时,在测试类中需要需要访问成员内部类中的成员方法。无论是局部内部类还是成员内部类(非静态的)都可以直接访问外部类的成员,包括私有。
                     外部类名.内部类名.对象名=外部类对象.内部类对象;
三、内部类分类:
     a 成员内部类
     b 局部内部类
四、匿名内部类的格式和应用及面试题
    格式:new 接口名或类名{

              方法重写;

          }

    面试题:按照要求,补齐代码
            interface Inter { void show(); }
            class Outer { //补齐代码 }
            class OuterDemo {
                public static void main(String[] args) {
                      Outer.method().show();
                  }
            }
            要求在控制台输出”HelloWorld”

od(){ //返回值是一个接口
        
        return new Inter2(){

            @Override
            public void show() {
                System.out.println("helloworld");
            }           
        } ;       
    }
}

//测试类
public class InnerClassTest2 {
    public static void main(String[] args) {
         Outer8.method().show();
        
         //当前method()能直接被类名调用---->method()方法是一个静态方法    static
         //Outer8.method().show()---->Outer8.method()返回的是一个对象,拿对象调用show()方法
         //由于接口只有一个show()方法,最终要去重写show()方法
        
            
    }
}