1:博客自己总结这两天学的东西

2:形式参数和返回值问题

   *形式参数:

         *基本数据类型,需要什么数据类型,在实际传参的时候就传什么数据类型,形式数据的           改变对实际参数没有影响 

         *如果实际参数是为引用类型,那么要对这个类创建一个对象

             *具体类:创建该类的对象

             *抽象类:需要创建该抽象类的子类(抽象类多态)

             *接口:由于接口不能实例化,需要定义接口子实现类,然后通过子实现类进行实                   例化

   *返回值:

          *具体类:直接返回该类对象(通常使用匿名对象)

          *抽象类:需要返回的是该类的子类的子类对象

          *接口:需要接口对应的子实现类对象(可以用匿名对象实现)



3:内部类的概述及访问特点

在一个类中定义另一个类

   *特点:

      *内部类可以直接访问外部类的成员包括私有的

      *外部类要访问内部类的成员必须创建内部类的对象访问该类的成员

      在测试类访问内部类成员的格式方法:

      外部类名.内部类名 对象名=外部类对象名.内部类对象名


4:内部类的分类

*分类:

      *成员内部类:处在外部类成员的位置

       成员内部类的修饰符:prinvate(保证数据的安全性),static

      *局部内部类:定义在外部类的局部变量位置

      *匿名内部类:是内部类的简化版格式


5:匿名内部类的格式和应用及面试题

*匿名内部类

书写格式:new 接口或类名(){   

                方法重写;

              }

当匿名内部类只有一个方法时可以直接new[](){  }.方法名()

       当匿名内部类有两个或两个以上的方法时:

              内部类名 对象名=new 内部类名();

*面试题

按照要求,补齐代码

interface Inter { void show(); }

class Outer { //补齐代码 }

class OuterDemo {

public static void main(String[] args) {

 Outer.method().show();

 }

}

要求在控制台输出”HelloWorld”

interface Inter { 
    public abstract void show();
}
class Outer {
 public static Inter method(){
	 return new Inter(){
 
     @Override
     public void show() {
	        System.out.println("Helloworld");
     }
	 };
 }
}

class OuterDemo {
public static void main(String[] args) {
            Outer.method().show();
}
}

作业03_返回值